19 июня 2012 г.

Logical Volume Manager (LVM) своими руками. Часть II


В первой части статьи про LVM я описал структуру и основные файлы конфигурации. Во второй части остановимся на командах создания LVM конфигурции.

Создание Volume Group vg01:
  1. Найти свободные диски. Полезные команды:
    - # ioscan -funC disk - выдает список дисков в системе,
    - # insf -C disk - создает файлы устройств для дисков (если их не было),
    - # bdf - список монтированных файловых систем (помогает определить занятые диски),
    - # swapinfo -d - отображает диски и файловые системы используемые, как swap области,
    - # strings /etc/lvmtab - список существующих Volume Group и дисков в них,
    - # vxdisk list - список дисков, занятых в VxVM (еще одна система организации/управления дисками).
  2. Проверить доступность и целостность выбранных дисков. Например, /dev/dsk/c0t1d0:
    1. # diskinfo /dev/rdsk/c0t1d0 - информация о диске,
    2. # dd if=/dev/rdsk/c0t1d0 of=/dev/null bs=1024K - чтение содержимого диска, поиск "bad-блоков".
  3. Подготовить диски, создав на них физические тома (Physical Volumes):
    # pvcreate -f /dev/rdsk/c0t1d0 , для медленных дисков можно задать timeout большего размера, добавив опцию: "-t 180".
  4. Создать директорию и контрольный файл (group special file):
    1. # mkdir /dev/vg01 
    2. # chmod 755 /dev/vg01 
    3. # mknod /dev/vg01/group c 64 0x010000 , контрольный файл всегда символьного типа - c, старший номер (major) всегда - 64, а младший (minor) кодируется 0xhh0000, где hh - уникальный шестнадцатеричный номер Volume Group.
    4. # chown -R root:sys /dev/vg01 
    5. # chmod 640 /dev/vg01/group 
  5. Создать Volume Group:
    # vgcreate /dev/vg01 /dev/dsk/c0t1d0 , если дисков несколько, то перечислить через пробел.
    Набор параметров, который можно задать при создании:
    -l 1-255 (по-умолчанию, 255) - максимальное количество Logical Volume,
    -p 1-255 (по-умолчанию, 255) - максимальное количество Physical Volume,
    -s 1-256 (по-умолчанию, 4 MB) - размер физического экстента (кусочки, которыми распределяется место),
    -e 1-65535 (по-умолчанию, 1016, что соответствует 4 GB) - максимальное количество физических экстентов на диск (физический том). Имеет очень важное значение и устанавливается в зависимости от размера физического тома по формуле: <размер физического тома>/<размер экстента>.
    В дальнейшем не изменяется, что делает невозможным добавление дисков размером больше, чем первоначальный, в Volume Group.
  6. Посмотреть параметры Volume Group можно командой:
    # vgdisplay vg01 
Теперь можно создать Logical Volume lvol1:
  1. Зарезервировать имя Logical Volume:
    # lvcreate -n lvol1 vg01 
  2. Расширить Logical Volume до необходимого размера, выбрав на каком диске в Volume Group:
    # lvextend -L 200 /dev/vg01/lvol1 /dev/dsk/c0t1d0 , ключ -L задает размер в МБ, а ключ -l задает размер в экстентах. Будьте внимательны.
  3. Можно задать дополнительные параметры:
    - # lvchange -a y|n /dev/vg01/lvol1 - разрешение|запрет на использование Logical Volume.
    - # lvchange -p r|w /dev/vg01/lvol1 - право на "только чтение"|"чтение-запись" при использовании Logical Volume.
    - # lvchange -r y|n|N /dev/vg01/lvol1 - опции для работы с "bad-блоками": перемещает "bad-блоки"|не перемещает и выдает ошибку I/O|отключает механизм для использования механизма дискового массива, например.
  4. Посмотреть параметры Logical Volume можно командой:
    # lvdisplay /dev/vg01/lvol1 
Можно создать Logical Volume одной командой lvcreate, сразу указав размер, но вышеуказанная последовательность команд позволяет указать на каком диске из Volume Group будет располагаться Logical Volume. Это добавляет гибкости при создании.

Использование Logical Volume lvol1:
  • В качестве файловой системы:
    1. # newfs -F vxfs /dev/vg01/rlvol1 
    2. # mkdir /data 
    3. # mount /dev/vg01/lvol1 /data 
    4. # vi /etc/fstab - добавить файловую систему для монтирования после перезагрузки.
  • В качестве swap области:
    1. # swapon /dev/vg01/lvol1 
    2. # vi /etc/fstab - добавить для того, чтобы использовать после перезагрузки.
Перед использованием команд читайте документацию man:
# man <команда> 


Автор: Шиболов Вячеслав Анатольевич


Комментариев нет:

Отправить комментарий