Bash
bash + 如何在 Linux 中自動創建磁碟分區
這是我們的 rhel 伺服器機器的範例
lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 20G 0 disk /data/sdb sdc 8:32 0 20G 0 disk /data/sdc sdd 8:48 0 20G 0 disk /data/sdd sde 8:64 0 20G 0 disk /data/sde sdf 8:80 0 42G 0 disk sdg 8:96 0 42G 0 disk sdh 8:112 0 42G 0 disk
我們想為其他磁碟創建一個磁碟分區
sdf,sdg,sdh
,但是所有這些過程都應該通過 bash 腳本進行,我們希望自動化該過程首先是如何
2
為磁碟創建分區的sdf
範例,因此在此範例中,我們創建兩個分區,每個分區都將獲得10G
大小step 1(每個分區佔用10G時創建分區)
parted /dev/sdf GNU Parted 3.1 Using /dev/sdf Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mklabel msdos (parted) mkpart primary 0 10024MB Warning: The resulting partition is not properly aligned for best performance. Ignore/Cancel? I (parted) mkpart primary 10024MB 20048MB (parted) quit Information: You may need to update /etc/fstab.
第 2 步(創建文件系統 ext4)
mkfs.ext4 /dev/sdf1 mkfs.ext4 /dev/sdf2
現在我們得到(預期的結果)
lsblk sdf 8:80 0 42G 0 disk ├─sdf1 8:81 0 9.3G 0 part └─sdf2 8:82 0 9.3G 0 part
我們可以自動化這個
parted
過程嗎?或者可能通過其他方法(例如通過fdisk
)?為了在 bash 腳本中使用這個自動化過程
參考 - https://www.tecmint.com/create-disk-partitions-in-linux/
parted 可以選擇使用腳本(–script/-s)。
您可以向程序發出多次呼叫以實現您以互動方式輸入的內容:
parted --script /dev/sdf mklabel msdos parted --script /dev/sdf mkpart primary 1 10024MB parted --script /dev/sdf mkpart primary 10024MB 20048MB
繼續 mkfs…
提示:我在 1MB 上開始了第一個分區以避免警告,這也是當今許多發行版的預設設置。
正如 MC68020 作為對您問題的評論所提到的:您應該添加一些錯誤檢查程式碼。