Добавляем новый жесткий диск в систему.
Суть статьи -- правильно поправить 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
Комментарии
Отправить комментарий