Как создать один большой раздел на двух дисках в CentOS?

Как создать один большой раздел на двух дисках в CentOS?

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

[root@dedi ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        20G  942M   18G   6% /
tmpfs           7.8G     0  7.8G   0% /dev/shm
/dev/sda1       283M   32M  236M  12% /boot
/dev/sda2       1.8T   68M  1.7T   1% /data
[root@dedi ~]# cat /proc/partitions
major minor  #blocks  name

   8        0 1953481816 sda
   8        1     307200 sda1
   8        2 1932167168 sda2
   8        3   20480000 sda3
   8        4     524288 sda4
   8       16 1953481816 sdb

Я бы хотел оставить tmpfs и /boot как есть и создать из остального один большой раздел размером около 4 ТБ.

Я знаю, что это довольно простая задача, но я был бы очень признателен, если бы вы помогли мне разобраться в этом самостоятельно, поскольку я никогда раньше не занимался разбиением дисков в Linux и не хочу портить новенькую машину...

Большое спасибо

решение1

Вам необходимо использовать LVM (Logical Volume Manager)

Прежде всего, вы должны знать, что если какой-либо физический диск выйдет из строя, то и большой том 4 ТБ тоже выйдет из строя. Сначала сделайте резервную копию данных!

По сути, все, что вам нужно сделать, это разбить раздел данных (/dev/sda2 и /dev/sdb1) в формате lvm, а затем:

  • создать два физических тома ( pvcreate /dev/sda2 /dev/sdb1)
  • создать одну группу томов с двумя физическими томами ( vgcreate VG_DATA /dev/sda2 /dev/sdb1)
  • создать один логический том ( lvcreate -l 100%FREE -n DATA VG_DATA)
  • создайте файловую систему на новом томе ( mkfs.ext3 /dev/VG_DATA/DATA)
  • смонтировать том ( mount /dev/VG_DATA/DATA /data)

Есть дюжина сайтов с руководствами по lvm, напримерэтотодин.

Lvm — это гораздо больше, чем эти 4 команды, прочтите прекрасное руководство, если вам нужна расширенная конфигурация. Надеюсь, оно вам поможет

решение2

Я лично считаю, что LVMэто излишне для этой простой задачи, я бы предложил настроить mdadmсозданиеRAIDмножество.

Теперь у вас есть два варианта:

  • либо алинейный массив, который буквально создаст объединенный раздел на основе двух исходных разделов
  • илиRAID-0, который имеет дополнительное ограничение, заключающееся в том, что исходные разделы должны быть одинакового размера, но обеспечивает существенноеповышение производительностик чтению и письму.

Однако будьте осторожны, если хотя бы половина любого диска выйдет из строя, и, возможно, все ваши данные будут потеряны. Если вы используете линейный массив, некоторые данные можно восстановить, но RAID-0почти наверняка все будет уничтожено, решите, какой из этих компромиссов вы хотите, когда будете выбирать тип массива.

Далее вам нужносоздаватьбольшой раздел на каждом диске, вы можете сделать это с помощьюfdiskили любой другой инструмент, и я не буду вдаваться в подробности, так как есть более подробные руководства в других местах.

Затем вы бежитеmdadmв виде:

# for a RAID-0 Array
mdadm --create --verbose /dev/md0 --level=stripe /dev/sda1 /dev/sdb2

# for a linear Array
mdadm --create --verbose /dev/md0 --level=linear /dev/sda1 /dev/sdb2

Где /dev/sda1и /dev/sdb2заменяются на разделы, которые мы создали на предыдущем шаге. Затем я предлагаю быстро просмотретьСтраница руководства mdadmчтобы узнать, как вам может понадобиться поддерживать этот массив.

Вы можете использовать LVMвместо этого, как предложил Макс, и это может сослужить вам лучшую службу, если в конечном итоге у вас получится чрезвычайно сложная конфигурация, но я не думаю, что это действительно необходимо для такого простого случая, как ваш; RAID также может обеспечить существенное повышение производительности по сравнению с LVM, если настроен правильно, однако это выходит за рамки данного ответа.

решение3

Следует отметить, что вышеприведенное приведет к удалению всех данных, хранящихся в /data.

Вам также придется создать новую файловую систему на новом разделе RAID0 (как в примере LVM) и обновить fstab так, чтобы он был смонтирован как /data (или как-то еще).

Связанный контент