Я использую Ubuntu 16.04 EC2 от AWS на c5d.2xlarge HW. Он поставляется с твердотельным накопителем емкостью 200 ГБ, который называется /dev/nvme1n1
.
Я могу смонтировать этот диск, используя:
$ sudo mkfs.ext4 -E nodiscard /dev/nvme1n1
$ sudo mount -o discard /dev/nvme1n1 /home/ubuntu
Чтобы попытаться заставить его автоматически монтироваться, я также добавил в /etc/fstab
:
/dev/nvme1n1 /home/ubuntu/spda ext4 defaults,users,nofail,discard 0 2
Мои проблемы:
Кажется, он не монтируется автоматически, когда я останавливаю / запускаю экземпляр. Я не знаю, как исправить / отладить.
Когда я монтирую его вручную, созданная папка принадлежит корню, и я не могу получить к ней доступ как пользователь.
Моя цель - иметь возможность запустить экземпляр и уже установить диск, доступный для пользователей.
В SSD-диск на 200 ГБ то, что вы видите, называется Хранилище экземпляров (или эфемерное хранилище) и является уничтожен каждый раз, когда ты стоп экземпляр и создал новый каждый раз, когда ты Начало экземпляр.
Это означает две вещи:
Не храните никаких ценные данные вы хотите сохранить остановку / запуск - все исчезнет, когда вы ее остановите. Эти диски для хранения экземпляров отлично подходят для кешей, временных каталогов, пространства подкачки и т. Д. Все, что можно легко воссоздать в случае потери.
Каждый раз, когда вы запускаете экземпляр диск пустой - вы должны сначала отформатировать его (например, mkfs.ext4
), прежде чем вы сможете его использовать. В следующий раз, когда вы остановитесь / начнете, он снова будет пустым, и вы должны mkfs
это снова.
Вот почему просто добавляем его в /etc/fstab
недостаточно - диск не будет отформатирован, когда загрузочный скрипт попытается его смонтировать.
Чтобы решить вашу проблему, вам нужно будет создать собственный сценарий, например /usr/local/sbin/mount-instance-store.sh
примерно с таким содержанием:
mkfs.ext4 -E nodiscard -m0 /dev/nvme1n1
mount -o discard /dev/nvme1n1 /home/ubuntu/spda
chown ubuntu:ubuntu /home/ubuntu/spda
Затем вам нужно убедиться, что сценарий выполняется во время загрузки. Способ сделать это отличается для разных дистрибутивов, для Ubuntu 16.04 это должно работать: Как автоматически запустить сценарий оболочки при загрузке в systemd Linux
Надеюсь, это поможет :)
добавьте соответствующие строки в файл / etc / fstab в следующем формате
<device> <mount_point> <filesystem> <options> <dump-freq> <pass-num>
EX. если у вас есть раздел ext4 и вы хотите автоматически монтировать его в / home / ubuntu
/dev/nvme1n1 /home/ubuntu ext4 defaults,rw,noatime 0 0
после того, как файловая система была смонтирована, вы должны предоставить ей право собственности на доступ к ней, но сделайте это после ее монтирования
chown ubuntu /home/ubuntu -R
прокомментируйте этот ответ, если вам нужно больше объяснений