Путаница с именами: увеличить каталог / раздел / файловую систему / блочное устройство?

Хакерский способ - дождаться завершения транзакции:

mysql> FLUSH LOCAL TABLES; Запрос ОК, затронутых строк 0 (11,31 сек)

, а затем получение блокировки чтения :

mysql> FLUSH TABLES WITH READ LOCK; Запрос ОК, затронуто 0 строк (22,55 сек)

Теперь все запросы заблокированы (т. Е. Они ждут снятия блокировки) до вашего сеанса заканчивается. Имейте в виду - вам все равно нужно дождаться завершения всех транзакций. В зависимости от вашей рабочей нагрузки это может занять некоторое время (ОБНОВЛЕНИЕ нескольких миллионов строк ...).

Вы можете закодировать это на своем любимом скриптовом языке.

А если серьезно - почему бы не использовать Xtrabackup ? Он позаботится о согласованном снимке mysql за вас, и вы можете выгрузить его в файловую систему и сделать снимок zfs / lvm.

2
16.07.2017, 15:40
2 ответа

Это сбивает с толку. Во-первых, /usr— это каталог. Но любой каталог также может быть точкой монтирования, к которой привязана файловая система. Файловая система сама по себе находится на блочном устройстве— это может быть либо раздел, либо логический том, либо файл, прикрепленный к петлевому устройству.

Существуют определенные каталоги, которые по традиции часто являются отдельными точками монтирования, и usrявляется одним из них.Я думаю, что самый простой способ узнать состояние данной системы — это использовать команду df— дать ей имя каталога, и она сообщит вам информацию о файловой системе, в которой находится этот каталог. Например, в моей системе:

$ df -h /usr
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/fedora-root   79G   19G   57G  25% /

Это показывает, что для me/usrнаходится в «корневой» файловой системе, которая находится на устройстве /dev/mapper. /fedora-root, который смонтирован по адресу /. В вашей системе, в зависимости от вашего обновления, /usrразделены.

Для сравнения:

$ df -h /home/mattdm/
Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/fedora-home   99G   74G   21G  79% /home

говорит мне, что мой домашний каталог находится в файловой системе, смонтированной в /home.

Независимо от того, является ли конкретныйкаталог точкой монтирования, чтобы освободить больше места в любомкаталоге, вам необходимо увеличить пространство в файловой системе, в которой находится этот каталог. В моем случае, поскольку /usrнаходится на /dev/mapper/fedora-root, смонтированная в /, мне нужно увеличить размер этой /dev/mapper/fedora-root. В вашем случае /usrявляется точкой монтирования для файловой системы /dev/mapper/fedora-usr, поэтому вам необходимо увеличить размер этафайловая система.

Чтобы освободить место на /usrв вашей ситуации, вам сначала понадобится логический томс достаточным пространством — вы можете добавить физические томак тому, если нет свободного места.Затем вам нужно будет увеличить файловую системувнутри этого логического тома. (Это можно сделать за один шаг с помощью флага --resizefsна lvextend.)

5
27.01.2020, 21:54

Я беру хороший ответ @mattdm, чтобы показать вам практические шаги, чтобы сделать то, что вам нужно.

Выводdf

/dev/mapper/fedora-usr                           2,9G  2,7G   42M  99% /usr

показывает, что вы используете LVM (Logical Volume Manager ),и что каталог /usrсмонтирован на логическом томе LV ()с именем usrв группе томов VG ()с именем fedora.

Поэтому вам нужно сделать это:

1 )Добавьте к машине новый (физический или виртуальный )диск, чтобы обеспечить дополнительное дисковое пространство; назовем его /dev/sdc.

2 )Создать новый раздел/dev/sdc1(типа 0x8E = Linux LVM )на новом диске:

fdisk /dev/sdc 

(Я предполагаю, что вы знаете, как это сделать, поэтому я опускаю детали :нажмите n , p , 1 , и т. д.)

Это не обязательно, но рекомендуется, потому что если у вас есть другие Операционные системы, обращающиеся к диску, могут не распознать LVM и увидеть все неразмеченный диск как пустой.

3 )Инициализировать новый раздел как физический том:

pvcreate /dev/sdc1 

4 )Добавить вновь созданный PV в существующую группу томов:

vgextend fedora /dev/sdc1 

5 )Расширить логический том usr-, а также базовую файловую систему -, чтобы он занимал все свободное пространство:

lvresize -l+100%FREE --resizefs /dev/mapper/fedora-usr

Ваш раздел /usrтеперь больше любого размера раздела /dev/sdc.

1
27.01.2020, 21:54

Теги

Похожие вопросы