1

Я установил удаленный сервер Ubuntu в тот день на диске 5 ГБ из 100 ГБ, которые мой хост предоставил только для тестирования. Время пролетело и оказалось, что я все еще использую тестовую среду, и теперь мне нужно больше места. Мой хост позволяет мне присоединять новый пустой диск к удаленному компьютеру любого размера, который я хочу (доступно из оставшихся 95 ГБ). Но это все, что я могу сделать из веб-интерфейса: у меня нет возможности управлять таблицей разделов из него. Итак, я подключил диск 20 ГБ к удаленной машине.

user@snf-217047:~$ sudo fdisk -l
Disk /dev/vda: 5368 MB, 5368709120 bytes
149 heads, 8 sectors/track, 8796 cylinders, total 10485760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000619d1

   Device Boot      Start         End      Blocks   Id  System
/dev/vda1   *        2048    10483711     5240832   83  Linux

Disk /dev/vdb: 21.5 GB, 21474836480 bytes
16 heads, 63 sectors/track, 41610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/vdb doesn't contain a valid partition table

То, что я хочу знать, это то, что я делаю сейчас, чтобы добавить 20 ГБ в мою систему. Я не хочу спрашивать "Как мне изменить размер дома или как создать новый раздел", потому что я хочу увидеть мои варианты. Итак, вопрос в том, как сделать диск 20 ГБ пригодным для использования в моей системе?

1 ответ1

3

Это многошаговый процесс.

Во-первых, вам нужно идентифицировать узел устройства рассматриваемого диска. Есть несколько способов сделать это, и вы сделали это через fdisk -l ; в вашем случае узел устройства для нового диска - /dev /vdb (то есть узел устройства единственного обнаруженного диска, который не содержит допустимой таблицы разделов). Вы также можете определить каталоги, которые занимают много места и которые легко перемещать в другие разделы; хорошими кандидатами в зависимости от того, как используется система, могут быть /home, /opt, /srv и подкаталоги в /var. Не перемещайте файлы или каталоги, которые нужны системе для загрузки. Всегда оставляйте /bin, /boot, /dev, /etc, /lib *, /proc, /run, /sbin и /sys в одиночку, если только вы точно не знаете , что делаете, почему и какие последствия это будет иметь. Будьте осторожны с /usr.

Во-вторых, вам нужно разбить диск на части. Используйте fdisk или аналогичную утилиту для этого; fdisk /dev/vdb должен помочь вам начать. Создайте на нем один или несколько разделов, в зависимости от предполагаемого использования. Если вам нужно что-то более удобное для пользователя, попробуйте cfdisk (вам может понадобиться сначала установить его отдельно).

В-третьих, вам необходимо создать файловые системы (это называется "форматированием" в мире Microsoft) на каждом из созданных вами разделов. Вполне возможно, что вам нужно перезагрузиться после разметки; поскольку последствия несоответствия могут быть серьезными, я предпочитаю делать это в порядке рутины, просто чтобы убедиться, что все системные компоненты имеют одинаковое представление таблицы разделов. Обычно вы создаете файловые системы, используя семейство инструментов mkfs.* , Но исключения могут существовать (и некоторые имеют псевдонимы, такие как mkfs.ext2, который часто ассоциируется с mke2fs). Например, если вы хотите создать файловую систему ext4 в /dev /vdb2, вы должны запустить что-то вроде mkfs.ext4 /dev/vdb2 . Сначала прочтите соответствующую справочную страницу, чтобы узнать, какие варианты могут оказаться полезными. Убедитесь, что вы используете правильный узел устройства здесь; самоуспокоенность убивает.

В-четвертых, вы должны указать системе монтировать файловые системы в любой интересующей вас точке монтирования. (В мире Microsoft это обычно не требуется, поскольку разделам назначаются буквы дисков по умолчанию, и вам нужно только настроить что-либо, если вы хотите изменить это назначение.) Другие * nixes могут отличаться, но в Linux это настраивается через /etc /fstab, у которого есть точка дампа параметров форматирования точки device mountpoint fstype options dump pass . dump и pass часто оставляют равными 0 , options часто можно оставить по defaults за исключением корневой файловой системы, а другие зависят от ваших настроек. Например, чтобы смонтировать файловую систему ext4 в /dev /vdb3 в точке монтирования /srv /www, вы должны добавить строку вроде:

/dev/vdb3 /srv/www ext4 defaults 0 0

Способ запомнить порядок - «что, где, как?».

Не добавляйте несколько записей для одного и того же узла устройства или точки монтирования. Это может даже не сработать (я однажды допустил ошибку при монтировании двух разных файловых систем в / , что вызвало всевозможную путаницу и было не совсем легко понять, что происходит, несмотря на то, что у меня 15-летний опыт работы с различные дистрибутивы Linux), и это не распространит файловую систему на несколько устройств.

Я всегда рекомендую использовать постоянные идентификаторы устройств, особенно в /etc /fstab и других подобных точках конфигурации. Найдите в /dev /disk /by- * символические ссылки, которые могут пригодиться. Преимущество, особенно в /dev /disk /by-id, заключается в том, что они остаются неизменными даже при перемещении диска или изменении порядка обнаружения (это может произойти очень легко в больших установках!).

В-пятых, убедитесь, что каталог точки монтирования существует и пуст (ls -A здесь ваш друг). (Это вероятно , будет работать , даже если каталог не пуст, но вы запутаетесь.)

В-шестых, вы можете переместить любые существующие файлы (в соответствующем каталоге старой файловой системы) в новый раздел. Для этого смонтируйте файловую систему в новом разделе в каком-то временном месте (для таких целей обычно используется /mnt), переместите все файлы, а затем размонтируйте новую файловую систему из временной точки монтирования. Обязательно остановите все соответствующие службы, прежде чем сделать это. Например, чтобы перенести все данные в /srv в новую файловую систему в /dev /vdb2, попробуйте что-то вроде:

# shopt -s dotglob
# cd /srv
# mount /dev/vdb2 /mnt
# mv ./* /mnt
# umount /mnt

В-седьмых, выполните mount -a чтобы смонтировать все файловые системы, перечисленные в /etc /fstab, а затем mount или df чтобы убедиться, что новые файловые системы смонтированы должным образом. (Они должны быть перечислены в выходных данных, и df должен сообщать о них как о практически пустых, если вы не переместили на них файлы, как в шаге 6 выше.) После этого все должно быть хорошо, и вы можете начать использовать эти файловые системы, но вы можете перезагрузить систему еще раз и убедиться, что файловые системы смонтированы при загрузке, чтобы быть уверенным. На этом этапе вы также можете использовать chmod для установки соответствующих разрешений в корневых каталогах файловых систем; например chmod 775 /srv/www .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .