Рейтинг:3

Мне нужно автоматизировать задачу форматирования и монтирования SSD при запуске Ubuntu 20.04 LTS

флаг us

Я использую локальный SSD в Google Cloud Platform, и характеристика локального SSD, предоставленного Google, заключается в том, что пользователь должен переформатировать и монтировать его каждый раз, когда пользователь перезапускает ОС: https://cloud.google.com/compute/docs/disks/add-local-ssd#formatmultiple

Я хотел автоматизировать это, потому что надоедает делать это вручную каждый раз при перезагрузке системы. Поэтому я создал скрипт в /etc/init.d/automountssd.sh.

#!бен/баш
sudo mdadm --create /dev/md0 --level=0 --raid-devices=4 /dev/nvme0n1 /dev/nvme0n2 /dev/nvme0n3 /dev/nvme0n4
судо mkfs.ext4 -F/dev/md0
sudo mount /dev/md0 /root/Загрузки/

Затем назначьте разрешения: chmod 775 /etc/init.d/automountssd.sh

И я зарегистрировал его как автозапуск: update-rc.d automountssd.sh по умолчанию

И после перезагрузки ничего не произошло. :(

Решено: я последовал ответу alfajorcito, и это отлично работает на платформе GCP.

Сначала я последовал его совету и заменил #!bin/bash на #!/bin/bash. И зарегистрируйте его как службу, выполнив следующие действия: нано /etc/systemd/system/automountssd.service

[Ед. изм]
Description=automount для локального ssd GCP

[Оказание услуг]
Тип = ваншот
ExecStart=/etc/init.d/automountssd.sh
Таймаутстартсек=0

[Установить]
WantedBy=многопользовательская.цель

И запустите службу автоматически при загрузке и запустите службу: sudo systemctl включить automountssd && sudo systemctl запустить automountssd

Теперь при загрузке ОС SSD будет автоматически форматироваться, Raid настраиваться и монтироваться :)

Рейтинг:3
флаг aw

В вашем шебанге отсутствует косая черта (т.е. это должно быть #!/bin/bash, а не #!bin/bash) - но кроме этого, что-то еще отключено (не уверен, что именно) - я попытался воспроизвести это с помощью простой оболочки скрипт, содержащий одну команду эха, но он все равно не работал...

Тем не менее, мне удалось автоматически запустить скрипт после перезагрузки с помощью модулей systemd, поэтому, возможно, вы могли бы попробовать сделать что-то подобное? У меня нет учетной записи GCP, поэтому я не могу гарантировать, что это решит вашу локальную проблему с SSD, но в Ubuntu 20 на OCI работало следующее:

# проверка версии Linux
ubuntu@e2-микро-2:~$ uname -a
Linux e2-micro-2 5.11.0-1028-oracle #31~20.04.1-Ubuntu SMP Среда, 26 января, 14:17:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

# содержимое скрипта
ubuntu@e2-micro-2:~$ cat /etc/init.d/check-if-this-works.sh
#!/бин/баш
эхо 'проверить' >> /tmp/checkme

# разрешения скрипта
ubuntu@e2-micro-2:~$ ls -l /etc/init.d/check-if-this-works.sh
-rwxrwxr-x 1 ubuntu ubuntu 41 19 февраля 08:26 /etc/init.d/check-if-this-works.sh

# содержимое модуля systemd
ubuntu@e2-micro-2:~$ cat /etc/systemd/system/checkme.service
[Ед. изм]
Описание=Проверь меня

[Оказание услуг]
Тип = ваншот
ExecStart=/etc/init.d/check-if-this-works.sh
Таймаутстартсек=0

[Установить]
WantedBy=многопользовательская.цель

# подтвердите, что выходной файл отсутствует перед перезагрузкой
ubuntu@e2-микро-2:~$ ls -l /tmp/checkme
ls: невозможно получить доступ к '/tmp/checkme': нет такого файла или каталога

# перезагрузить демон systemd и включить службу
ubuntu@e2-micro-2:~$ sudo systemctl демон-перезагрузка
ubuntu@e2-micro-2:~$ sudo systemctl включить проверку

# перезагружаемся и проверяем, успешно ли выполнился скрипт при запуске
ubuntu@e2-micro-2:~$ перезагрузить судо
(ssh обратно на сервер)
ubuntu@e2-micro-2:~$ cat /tmp/checkme
проверять
флаг us
Фантастика! за работой! Как вы сказали, я зарегистрировал automountssd.sh как службу, и теперь SSD автоматически форматируется, рейдится и монтируется во время загрузки. Большое спасибо! XD

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.