Вернуться на предыдущую страницу

Что делать, когда место стало заканчиваться, а его нужно добавить?

Как масштабироваться, увеличивая объем HDD/SSD накопителя на сервере?

Схема такая:

есть уже используемые SSD в RAID 1 (спаренный зеркальный RAID), на нем закончилось место, необходимо примонитровать еще один диск, но ТАК, чтобы не создавать новые доменные имена/сайты/поддомены, для доступа к его файлам, а примонтировать в уже существующую папку.

К примеру, уже есть папки:

.../files1
.../files2

в которых хранятся какие-то файлы, доступные через сайт:

https://site.org/files1/image.jpg

требуется, чтобы новый диск был доступен, к примеру, по адресу:

https://site.org/files3/some-file.txt

Что для этого необходимо?

В зависимости от добросовестности Вашего хостинг-провайдера и/или персонала, обслуживающего Ваш сервер, диск, возможно, просто подключат к серверу И ВСЕ. Вам все остальное необходимо сделать самому. Как ..?

На сайте цифрового океана есть полезный материал, который поможет нам...

Для начала необходимо апнуть репозитории и установить программу для разметки дисков, так как теоретически, диск должен быть новый/использованный ранее (но нам в любом случае придется его форматировать):

sudo apt-get update && sudo apt-get install parted

Чтобы определить, какой именно диск (какая его буква sd?), необходимо выполнить команду:

sudo parted -l | grep Error

результат:

Error: /dev/sda: unrecognised disk label

ВНИМАНИЕ! У Вас может быть своя буква /dev/sd? ! Будьте внимательны!

Теперь выполним lsblk, чтобы увидеть список дисков:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk 
vda    253:0    0    20G  0 disk 
└─vda1 253:1    0    20G  0 part /

Не забудьте проверять lsblk при каждом шаге монтирования перед внесением изменений. Идентификаторы дисков /dev/sd? и /dev/hd? не обязательно будут согласованы между шагами монтирования, что означает некоторую опасность разбиения или форматирования неправильного диска, если Вы не проверите идентификатор диска правильно.

Рассмотрите возможность использования более постоянных идентификаторов дисков, таких как /dev/disk/by-uuid, /dev/disk/by-label или /dev/disk/by-id

Далее приступим к форматированию. Прошу обратить внимание, для своего диска я оставил 1% неразмеченной области. Возможно, это как-то поможет при длительном использовании диска...

sudo parted /dev/sda mklabel gpt

ОБРАТИТЕ ВНИМАНИЕ! Данная команда удалит все данные с диска, будьте внимательны с его буквой и каждый раз проверяйте lsblk:

sudo parted -a opt /dev/sda mkpart primary ext4 1% 100%
lsblk 
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   100G  0 disk 
└─sda1   8:1    0   100G  0 part 
vda    253:0    0    20G  0 disk 
└─vda1 253:1    0    20G  0 part /

Теперь, когда у нас есть доступный раздел, мы можем отформатировать его как файловую систему Ext4. Для этого передайте раздел утилите mkfs.ext4.

Мы можем добавить метку раздела, передав флаг -L. Выберите имя, которое поможет вам идентифицировать этот конкретный диск:

Убедитесь, что вы передаете раздел, а не весь диск. В Linux диски имеют такие имена, как sda, sdb, hda и т. Д. Разделы на этих дисках имеют номер, добавленный в конец. Поэтому мы хотели бы использовать что-то вроде sda1, а не sda.

sudo mkfs.ext4 -L datapartition /dev/sda1

Если вы хотите изменить метку раздела позже, вы можете использовать команду e2label:

sudo e2label /dev/sda1 newlabel

Создайте директорию на старом жестком диске:

sudo mkdir -p /var/www-data/site.org/folder3

Монтирование до перезагрузки системы:

sudo mount -o defaults /dev/sda1 /var/www-data/site.org/folder3

Монтирование при загрузке системы в автоматическом режиме:

sudo nano /etc/fstab
. . .
## Use one of the identifiers you found to reference the correct partition
# /dev/sda1 /mnt/data ext4 defaults 0 2
# UUID=4b313333-a7b5-48c1-a957-d77d637e4fda /mnt/data ext4 defaults 0 2
LABEL=datapartition /mnt/data ext4 defaults 0 2
sudo mount -a

Вот так выглядит в реале:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 894.3G 0 disk
├─sda1 8:1 0 885G 0 part
│ └─md0 9:0 0 884.8G 0 raid1 /
└─sda2 8:2 0 4.7G 0 part
└─md1 9:1 0 4.7G 0 raid1 [SWAP]
sdb 8:16 0 894.3G 0 disk
├─sdb1 8:17 0 885G 0 part
│ └─md0 9:0 0 884.8G 0 raid1 /
└─sdb2 8:18 0 4.7G 0 part
└─md1 9:1 0 4.7G 0 raid1 [SWAP]
sdc 8:32 0 447.1G 0 disk
└─sdc1 8:33 0 442.7G 0 part /var/data-www/site.org/folder3