Добавляем новый жесткий диск в систему.

 

Суть статьи -- правильно поправить fstab и ещё важнее, перепроверить, точно ли вы подготовили жесткий диск.

Недавно мне удалось купить жесткий диск на 2 Tb, который тут же занял свое место в сервере и начал свою работу.

Я не буду в этот раз описывать теорию, ограничусь практикой, что я сделал, чтобы это заработало.
К сожалению, Linux не даёт такой же простоты работы с новыми HDD в системе, каким бы графическим он не был, но настолько же понятного GUI как в Windows тут нет. Да ещё и с правами доступа очередная свистопляска. Если в Windows вы сами себе хозяин, то в Linux вам навязывают непривилигированного пользователя. Да так, что даже флешку без sudo вы не можете отформатировать. Да, это бесит жутко даже меня, пользователя с 2004 года.
Но сервер есть сервер.
Вставляем жесткий диск, затем выполняем перечень команд.
# fdisk -l


Копируем в отдельный текстовый файл /dev/sd* которому принадлежит жесткий диск.

# blkid



Копируем UUID нового hdd в вышеуказанный файл затем выполняем команду:

# mke2fs -t ext4 -L D /dev/sd*1

 где D -- метка раздела (Как в windows диск D)

/dev/sd*1 -- номер раздела, на диске sd*

поскольку для 2 Tb не требуется организации GPT, я оставил то что было по умолчанию: MBR.

Далее редактируем /etc/fstab


добавляем следующую строку:

UUID    /mnt/D    ext4    defaults    0    0

В моем файле fstab видно, что подключаемая файловая система ntfs-3g. Наверное понятно, что этот диск перекочевал из пк Windows. Поэтому файловая система басурманская.

У меня есть привычка укорачивать пути, поэтому я размещаю точки подключения дисков в корне файловой системы. Для меня конструкции /mnt/$mountpoint$ выглядят дикостью.

Поэтому точка монтирования /D

#mkdir /D

Сразу пробуем:

#mount /dev/sd*1 /mnt/D

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

#mount

без параметров mount выдаст список всех подключенных файловых систем.

Подключитесь к серверу через консоль KVM или подключите к нему монитор, если есть такая возможность.
#reboot

Если ошибок не было, то сервер загрузится нормально.

Зайдите по ssh на сервер.

Снова проверьте:

$mount | grep /mnt/D

/dev/sdb1 on /D type fuseblk (rw,relatime,user_id=0,group_id=0,allow_other,blksize=4096)

#cat > /mnt/D/test.txt

Ваш текст (после окончания ввода нажимте ctrl+D).

Если ошибок нет, то:

# ls /mnt/D

test.txt

Всё работает.
Теперь я обнаружил небольшой конфликт с назначением прав доступа.
Если прописать в параметрах загрузки на месте defaults следующий текст:
user:user group:nogroup
то можно не получить никакого монтирования.
Здесь проблема в том, что точка монтирования /mnt/D является по умолчанию каталогом и с него можно выполнить запись в случае, если туда не примонтировано никаких разделов.
Я считаю это идиотизмом, потому что это похоже на железнодорожное кольцо, где одна стрелка и одна ветка ведет по кругу, вторая в тупик. Так вот я считаю, что этот тупик не должен по умолчанию иметь никаких возможностей. Как розетка.

Как сделал я.
При загрузке система монтируется с правами root.
После первой же загрузки я делаю

#chmod -R 777 /mnt/dev
А поскольку далее всем диском распоряжается apache2 с его www-data, то у меня созданы для каждого виртуального хоста отдельные директории.
Принципиально, нет разницы, если владелец www-data и права на каталоги 775 или моё предпочтение 757. root в любом случае имеет наивысшие привилегии и может удалить всё.
Можно такой вариант провернуть:

#chown -R www-data:www-data /mnt/D
и в fstab внести информацию о монтировании диска от этого пользователя и группы.

В этом посте я описал опыт настройки жеского диска в Debian и взял информацию не с потолка, так что привожу ссылки, главное, не теряйте документацию и скачивайте её обязательно в файлы.

Руководство по fstab: man fstab

инструкция по fstab

Форматирование в ext4 

Комментарии

Популярные сообщения из этого блога

LibreCAD шрифты

Как пользоваться LibreCAD так, чтобы было удобно.

Подключение локального репозтория для debian/ubuntu/mint/astra включая установочный диск