Score: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

#!bin/ทุบตี
sudo mdadm --create /dev/md0 --level=0 --raid-devices=4 /dev/nvme0n1 /dev/nvme0n2 /dev/nvme0n3 /dev/nvme0n4
sudo mkfs.ext4 -F /dev/md0
sudo เมานต์ /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

[หน่วย]
คำอธิบาย=ติดตั้งอัตโนมัติสำหรับ GCP local ssd

[บริการ]
Type=วันช็อต
ExecStart=/etc/init.d/automountssd.sh
หมดเวลาStartSec=0

[ติดตั้ง]
WantedBy=multi-user.target

และเริ่มบริการโดยอัตโนมัติเมื่อบู๊ตและเรียกใช้บริการ: sudo systemctl เปิดใช้งาน automountssd && sudo systemctl เริ่ม automountssd

ตอนนี้เมื่อใดก็ตามที่ระบบปฏิบัติการถูกบูท SSD จะถูกฟอร์แมตโดยอัตโนมัติ กำหนดค่า Raid และเมานต์ :)

Score:3
ธง aw

shebang ของคุณไม่มีเครื่องหมายทับ (เช่น ควรเป็น #!/bin/bash ไม่ใช่ #!bin/bash) - แต่นอกเหนือจากนั้น มีอย่างอื่นปิดอยู่ (ไม่แน่ใจว่าคืออะไรกันแน่) - ฉันพยายามจำลองสิ่งนี้ด้วยเชลล์ง่ายๆ สคริปต์ที่มีคำสั่ง echo เดียว แต่ก็ยังใช้งานไม่ได้ ...

อย่างไรก็ตาม ฉันจัดการให้สคริปต์ดำเนินการโดยอัตโนมัติหลังจากรีบูตโดยใช้หน่วย systemd ดังนั้นบางทีคุณอาจลองทำสิ่งที่คล้ายกัน ฉันไม่มีบัญชี GCP ดังนั้นฉันจึงไม่สามารถรับประกันได้ว่าวิธีนี้จะช่วยแก้ปัญหา SSD ในเครื่องของคุณได้ แต่สิ่งต่อไปนี้ใช้ได้กับ Ubuntu 20 บน OCI:

# ตรวจสอบเวอร์ชัน Linux
ubuntu@e2-micro-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
#!/bin/bash
echo 'ตรวจสอบ' >> /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
[หน่วย]
คำอธิบาย=ตรวจสอบฉัน

[บริการ]
Type=วันช็อต
ExecStart=/etc/init.d/check-if-this-works.sh
หมดเวลาStartSec=0

[ติดตั้ง]
WantedBy=multi-user.target

# ยืนยันว่าไฟล์เอาต์พุตหายไปก่อนที่จะรีบูต
ubuntu@e2-micro-2:~$ ls -l /tmp/checkme
ls: ไม่สามารถเข้าถึง '/tmp/checkme': ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว

# รีโหลด systemd daemon และเปิดใช้บริการ
ubuntu@e2-micro-2:~$ sudo systemctl daemon-โหลดซ้ำ
ubuntu@e2-micro-2:~$ sudo systemctl เปิดใช้งาน checkme

# รีบูตและตรวจสอบว่าสคริปต์ทำงานสำเร็จเมื่อเริ่มต้นหรือไม่
ubuntu@e2-micro-2:~$ sudo รีบูต
(ssh กลับไปที่เซิร์ฟเวอร์)
ubuntu@e2-micro-2:~$ cat /tmp/checkme
ตรวจสอบ
us flag
มหัศจรรย์! ทำงาน! อย่างที่คุณพูด ฉันลงทะเบียน automountssd.sh เป็นบริการ และตอนนี้ SSD ได้รับการฟอร์แมต จู่โจม และติดตั้งโดยอัตโนมัติในขณะบู๊ต ขอบคุณมาก ๆ! XD

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา