Применимость: Linux
Тарифный план включает в себя 60Гб диска, а я вижу только 20. Остальное пространство не размечено.
Как использовать свободное и не размеченное место на диске?
Этот вариант более рационален и менее рискованный.
Меньше риска потому что не меняется размер существующих разделов.
Рационален потому, что исключает падение системы в случае переполнения корневой файловой системы и дает возможность защиты примерно от 80% приемов взлома.
Потому для каталогов, в которые пользователи имеют возможность загружать файлы, делают отдельные разделы с опциями монтирования запрещающими особые свойства файлов и повышение привилегий. Обычно это каталоги /tmp и /var. Файл загруженный со злым умыслом может прикинуться устройством и выполнить опасные действия на уровне ядра системы или используя особые свойства, может выполнить действие в системе с правами root.
Заранее невозможно определить требуемое деление диска на разделы. Поэтому вам придется самостоятельно это сделать.
Например вы решили создать отдельный раздел для каталога /var и /tmp
Для возможности изменения таблицы разделов без перезагрузки необходим пакет parted
Чтобы обрыв связи не привел к прерыванию процесса изменения размера файловой системы необходим пакет screen
Установим оба пакета:
yum install screen parted
или для debian / ubuntu
apt-get install screen parted
Лучше всего изменение пространства делать до начала использования сервера, но с некоторым риском это можно сделать и потом если предусмотреть все необходимое.
Если система уже работала, то диск к моменту изменения размера может быть переполнен.
В такой ситуации высока вероятность неожиданной перезагрузки системы. Если это произойдет во время изменения размера, то результат вам не понравится…
ОБЯЗАТЕЛЬНО ПРОВЕРЬТЕ НАЛИЧИЕ СВОБОДНОГО МЕСТА
Убедитесь, что у вас есть свежая копия важных данных, если нет, попросите службу поддержки сделать LVM снапшот (снимок) вашей системы.
Это действие может выполнить только персонал имеющий непосредственный доступ к серверу виртуализации.
Существует опасность обрыва связи. Надо исключить эту возможность.
Обрыв связи с сервером во время изменения размера файловой системы приведет к ее повреждению.
Можно все действия выполнить через KVM -VNC консоль в вашей панели управления, в случае потери и возобновления связи работа может быть продолжена без прерывания процесса, но удобнее работать по сети через SSH.
Если вы подключились по SSH и выполняете все действия в screen, то запущенные процессы продолжат работу в случае обрыва связи. При следующем подключении вы снова подключитесь в screen и продолжите работу.
Если вы еще не освоили screen, поторопитесь это сделать
Дальнейшие действия выполняем в сессии screen.
Создать сессию с именем admin
screen -S admin
Если связь оборвется, то для продолжения работы снова соединитесь с системой и выполните команду подключения к запущенной сессии screen командой:
screen -x admin
Просмотреть существующую таблицу разделов:
parted /dev/sda print Модель: ATA QEMU HARDDISK (scsi) Диск /dev/sda: 42.9GB Размер сектора (логич./физич.): 512B/512B Таблица разделов: msdos Номер Начало Конец Размер Тип Файловая система Флаги 1 1049kB 525MB 524MB primary ext3 загрузочный 2 525MB 21.5GB 20.9GB primary lvmКак видите здесь размечено только около 20Гб пространства из 40Гб
В другом варианте вы можете увидеть такую таблицу разделов:
Number Start End Size Type File system Flags 1 1049kB 256MB 255MB primary ext2 boot 2 257MB 21.5GB 21.2GB extended 5 257MB 21.5GB 21.2GB logical lvmЗдесь вы видите раздел типа logical (5) который «живет» внутри контейнера раздела типа extended (2)
Так как в таблице разделов свободен номер 3 для раздела, то используем его для создания раздела типа prymary.
parted /dev/sda mkpart primary "3 -0"
Параметр «-0» означает - использовать все свободное пространство.
Установим метку типа файловой системы для раздела (мы используем раздел для создания физического LVM тома)
parted /dev/sda set 3 lvm on
Вам вы получите предупреждение WARNING: the kernel failed to re-read the partition table on /dev/sda (Устройство или ресурс занято). As a result, it may not reflect all of your changes until after reboot.
Можно послушаться и перезагрузить систему, но если это нежелательно, то можно использовать команду partprobe чтобы система перечитала таблицу разделов.
Теперь из нового раздела создадим физический том LVM и добавим его в группу LVM томов:
pvcreate /dev/sda3
Если вы получили предупреждение: Device /dev/sda3 not found (or ignored by filtering)., значит команда partprobe не помогла и придется перезагрузить систему.
После создания нового физического тома надо выяснить имя LVM группы в которую надо добавить пространство. В этом поможет команда vgs vgs
VG #PV #LV #SN Attr VSize VFree vg_centos6 1 2 0 wz--n- 19.51g 0
В моем случае имя группы LVM томов - vg_centos6
Для расширения пространства группы нужно добавить в нее физический том командой:
vgextend vg_centos6 /dev/sda3
Снова проверим список групп:
vgs VG #PV #LV #SN Attr VSize VFree vg_centos6 2 2 0 wz--n- 39.50g 20.00g
Теперь мы видим около 20Гб свободного пространства которое можно использовать.
Создадим логический раздел с именем VAR и размером 500мб в группе томов имеющей имя vg_centos6
lvcreate -L500 -nVAR vg_centos6
Создадим файловую систему ext3 на логическом разделе
mkfs.ext3 /dev/vg_centos6/VAR
Временно смонтируем в каталог /mnt
mount /dev/vg_centos6/VAR /mnt
Переместим файлы
mv /var/* /mnt
Размонтировать
umount /mnt
Добавим запись в /etc/fstab с опциями защиты системы от взлома
echo "/dev/vg_centos6/VAR /var ext3 noexec,nodev,nosuid 0 1" >> /etc/fstab
Смонтировать /var
mount /var
Сделаем подобное для /tmp только с другим размером раздела, например 200мб
В дальнейшем вы сможете расширить или урезать пространство для раздела используя LVM
Перезагрузите сервер, убедитесь. что все работает и сообщите службе поддержки, что можно удалять снапшот вашей системы.
Актуальность: 2012/03/11 15:36