Форум программистов, компьютерный форум, киберфорум
Наши страницы
Loafer
Войти
Регистрация
Восстановить пароль
Рейтинг: 5.00. Голосов: 1.

Разбиение диска с помощью Logical Volume Manager

Запись от Loafer размещена 15.04.2019 в 14:41

Возникала у меня следующая проблема. После установки системы RHEL на машину с SSD-диском, у меня остались два HDD-диска, которые "висят в воздухе" и никак не монтированы в систему. Жалко терять целый терабайт памяти просто так. Для монтирования их в систему и дальнейшего использования я решил воспользоваться функционалом, который называется Logical Volume Manager. LVM предоставляет дополнительный слой абстракции над железом. Например, можно объединить несколько физических дисков в группу, чтобы в дальнейшем разбить эту группу на логические "диски". Этим я и займусь.
Для начала, необходимо удалить таблицу разделов с дисков. Для этого введем следующие команды (взято из man pvcreate):
Bash
1
2
sudo dd if=/dev/zero of=/dev/sda bs=512 count=1
sudo dd if=/dev/zero of=/dev/sdb bs=512 count=1
Необходимо инициализировать физические устройства для использования LVM'ом. Определения, что такое PV, VG, LV и т. д. можно найти вот по этой ссылке:
Bash
1
2
sudo pvcreate /dev/sda
sudo pvcreate /dev/sdb
Создаем группу томов из ранее инициализированных физических томов:
Bash
1
sudo vgcreate dagestan /dev/sda /dev/sdb
Теперь мы можем создать логические тома поверх группы, которую я назвал dagestan. Поскольку я не обладаю большой фантазией, я буду называть все логические тома в честь 10 городов, расположенных в Дагестане:
Bash
1
2
3
4
5
6
7
8
9
10
sudo lvcreate -l 10%VG -n makhachkala dagestan
sudo lvcreate -l 10%VG -n buynaksk dagestan
sudo lvcreate -l 10%VG -n dagestanskiye_ogni dagestan
sudo lvcreate -l 10%VG -n derbent dagestan
sudo lvcreate -l 10%VG -n izberbash dagestan
sudo lvcreate -l 10%VG -n kaspiysk dagestan
sudo lvcreate -l 10%VG -n kizilyurt dagestan
sudo lvcreate -l 10%VG -n kizlyar dagestan
sudo lvcreate -l 10%VG -n khasavyurt dagestan
sudo lvcreate -l 100%FREE -n yuzhno_sukhokumsk dagestan
Команда sudo lvscan покажет нечто подобное:
Код:
ACTIVE            '/dev/rhel/swap' [7.81 GiB] inherit
ACTIVE            '/dev/rhel/home' [179.46 GiB] inherit
ACTIVE            '/dev/rhel/root' [50.00 GiB] inherit
ACTIVE            '/dev/dagestan/makhachkala' [<93.15 GiB] inherit
ACTIVE            '/dev/dagestan/buynaksk' [<93.15 GiB] inherit
ACTIVE            '/dev/dagestan/dagestanskiye_ogni' [<93.15 GiB] inherit
ACTIVE            '/dev/dagestan/derbent' [<93.15 GiB] inherit
ACTIVE            '/dev/dagestan/izberbash' [<93.15 GiB] inherit
ACTIVE            '/dev/dagestan/kaspiysk' [<93.15 GiB] inherit
ACTIVE            '/dev/dagestan/kizilyurt' [<93.15 GiB] inherit
ACTIVE            '/dev/dagestan/kizlyar' [<93.15 GiB] inherit
ACTIVE            '/dev/dagestan/khasavyurt' [<93.15 GiB] inherit
ACTIVE            '/dev/dagestan/yuzhno_sukhokumsk' [<93.18 GiB] inherit
Создаем файловые системы на всех логических томах. Я выбрал файловую систему XFS, так как сам установщик RHEL'а автоматически выбрал ее для своего раздела. А как я могу спорить с выбором компании, в которой работает сам Поттеринг:
Bash
1
for lv in `ls /dev/dagestan`; do sudo mkfs.xfs /dev/dagestan/$lv; done
Осталось теперь все это дело примонтировать и пользоваться:
Bash
1
2
3
4
5
6
cd ~
mkdir mount
cd ./mount
for lv in `ls /dev/dagestan`; do mkdir $lv; done
for lv in `ls /dev/dagestan`; do sudo mount /dev/dagestan/$lv $lv; done
for lv in `ls`; do sudo chown <user>:<group> $lv; done
Команда lsblk -f покажет нечто подобное:
Код:
NAME                          FSTYPE      LABEL UUID                                   MOUNTPOINT
sda                           LVM2_member       VNqq1O-78js-Ry5W-h0qG-ukL4-ro0h-LtD9A4 
├─dagestan-makhachkala        xfs               e882aaf2-d903-4ac9-8d32-3558fe03be3e   /home/k.shakhayev/mount/makhachkala
├─dagestan-buynaksk           xfs               8afef053-dc2e-4d2f-bdbc-36394110f79e   /home/k.shakhayev/mount/buynaksk
├─dagestan-dagestanskiye_ogni xfs               7776ccde-29ce-437b-93a0-4d2033e45457   /home/k.shakhayev/mount/dagestanskiye_ogni
├─dagestan-derbent            xfs               66a94c01-e559-44a0-8240-38b325ac8e5b   /home/k.shakhayev/mount/derbent
├─dagestan-izberbash          xfs               b18ec2a9-0c52-4e2f-b1ff-a41706001a10   /home/k.shakhayev/mount/izberbash
└─dagestan-yuzhno_sukhokumsk  xfs               0bd3eab8-9c8c-4fee-a3ed-10f89bb3f002   /home/k.shakhayev/mount/yuzhno_sukhokumsk
sdb                           LVM2_member       GLlVam-Q6j9-t1Mp-p1mC-heAS-Fets-NctIzK 
├─dagestan-kaspiysk           xfs               1d3e4080-247d-475c-bb8a-dbc10eea1d04   /home/k.shakhayev/mount/kaspiysk
├─dagestan-kizilyurt          xfs               0b3c13c2-ddd5-4c0c-a927-73a436120e39   /home/k.shakhayev/mount/kizilyurt
├─dagestan-kizlyar            xfs               898c8a79-ca6b-428e-9e73-e9b3befc7ab7   /home/k.shakhayev/mount/kizlyar
├─dagestan-khasavyurt         xfs               abd084c6-99d5-44d4-b95f-f529cbae12bf   /home/k.shakhayev/mount/khasavyurt
└─dagestan-yuzhno_sukhokumsk  xfs               0bd3eab8-9c8c-4fee-a3ed-10f89bb3f002   /home/k.shakhayev/mount/yuzhno_sukhokumsk
sr0                                                                                    
nvme0n1                                                                                
├─nvme0n1p1                   vfat              1447-D6E6                              /boot/efi
├─nvme0n1p2                   xfs               3b714d31-5fa4-4b85-99fb-74df773a4900   /boot
└─nvme0n1p3                   LVM2_member       ASSIMZ-37G8-nyAq-gHrU-GQuh-XWQd-z0mICk 
  ├─rhel-root                 xfs               d33e45ed-b61d-4039-9b40-f4b0d2fca200   /
  ├─rhel-swap                 swap              522aff90-569a-4eaf-87cf-1b2c910a74c1   [SWAP]
  └─rhel-home                 xfs               e0442515-64e1-4cb6-9c9a-551239a94452   /home
Желательно также настроить автомонтирование при загрузке системы. Это можно сделать через либо через файл /etc/fstab, либо через systemd. Но об этом я уже тут писать не буду.
Размещено в RHEL
Просмотров 126 Комментарии 5
Всего комментариев 5
Комментарии
  1. Старый комментарий
    Я не понял. Чему равен размер кластера? И есть ли какие-либо разумные доводы по поводу выбора того или иного размера?
    Запись от нтч размещена 16.04.2019 в 08:48 нтч вне форума
  2. Старый комментарий
    Аватар для Loafer
    Цитата:
    Сообщение от нтч Просмотреть комментарий
    Я не понял. Чему равен размер кластера? И есть ли какие-либо разумные доводы по поводу выбора того или иного размера?
    А что подразумевается под кластером в данном контексте?
    Запись от Loafer размещена 16.04.2019 в 14:14 Loafer вне форума
  3. Старый комментарий
    Вся память (например локального диска) делится на кластеры.
    ОПРЕДЕЛЕНИЕ:
    Кластер - это минимальная порция "памяти" (информации) на диске
    1. информация хранится, передается, уничтожается (стирается) только кластерами.
    2. величина кластеров. 64КБ, 32КБ, 16КБ, .... 1КБ (ну слышал еще о 512 Б)
    3. большие размеры кластера уже не применяются из-за расхода памяти.
    4. малые размеры кластера тоже использовать неразумно - время копирования, считывания и передачи информации сильно увеличивается. Кроме того, быстро изнашивается считывающая головка на считывающем устройстве. И не забудьте о фрагментации диска...
    Запись от нтч размещена 16.04.2019 в 16:36 нтч вне форума
  4. Старый комментарий
    Аватар для Loafer
    Цитата:
    Сообщение от нтч Просмотреть комментарий
    Вся память (например локального диска) делится на кластеры.
    ОПРЕДЕЛЕНИЕ:
    Кластер - это минимальная порция "памяти" (информации) на диске
    1. информация хранится, передается, уничтожается (стирается) только кластерами.
    2. величина кластеров. 64КБ, 32КБ, 16КБ, .... 1КБ (ну слышал еще о 512 Б)
    3. большие размеры кластера уже не применяются из-за расхода памяти.
    4. малые размеры кластера тоже использовать неразумно - время копирования, считывания и передачи информации сильно увеличивается. Кроме того, быстро изнашивается считывающая головка на считывающем устройстве. И не забудьте о фрагментации диска...
    Как я понимаю, размер кластера - это характеристика самой файловой системы. В данном случае это XFS. При форматировании диска я не задавал никакие настройки для команды mkfs.xfs, а значит размер кластера берется по умолчанию. Как я понимаю, в терминах XFS размера кластера есть ничто иное как размер блока. Если посмотреть man mkfs.xfs, то видим, что значение размера блока по умолчанию это 4 KiB.
    Запись от Loafer размещена 16.04.2019 в 17:49 Loafer вне форума
  5. Старый комментарий
    Loafer,
    размер кластера не является характеристикой самой файловой системы. Эта переменная величина и может быть изменена даже при установленном логическом (или ином) диске. Иное дело, что разные программы (программисты) на своё усмотрение задают эту величину по умолчанию. (ну не хочется им возиться с ещё одной характеристикой). А величина 4 КБ (это моё мнение) - взята с потолка. У меня (к примеру) величина кластера равна 16 КБ. И что? Компьютер работает быстрее и будет жить дольше. А память? Да у меня тоже 90% лишней памяти.
    Запись от нтч размещена 17.04.2019 в 08:29 нтч вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru