天天看點

Linux自動分區挂載

使用 fdisk 分區

通過 fdisk -l 指令檢視挂載的硬碟,假設為 /dev/sdc

# fdisk -l

...

Disk /dev/sdc: 10.7 GB, 10737418240 bytes

64 heads, 32 sectors/track, 10240 cylinders, total 20971520 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000

Disk /dev/sdc doesn't contain a valid partition table

對硬碟進行分區:

# fdisk /dev/sdc

然後根據提示,依次輸入 n, p, 1, 以及 兩次回車,然後是 wq,完成儲存。 這樣再次通過 fdisk -l 檢視時,你可以看到建立的分區/dev/sdc1

Disk identifier: 0x17adb4cb

Device Boot      Start         End      Blocks   Id  System

/dev/sdc1            2048    20971519    10484736   83  Linux

第二步分區後要進行格式化,例如格式化為 ext4 格式

# mkfs -t ext4 /dev/sdc1

最後一步是挂載硬碟:

# mkdir -p /application && mount -t ext4 /dev/sdc1 /application

警告:

為了防止主控端在突然斷電時可能對資料帶來的風險,如果檔案系統是ext3, 則需要在mount的時候顯式的指定”barrier=1”選項,例如”mount -t ext3 -o barrier=1 /dev/sdc1 /mnt/point”

2. 如何自動挂載?

如果你需要在系統啟動時自動挂載,不要在 /etc/fstab 直接指定 /dev/sdc1 這樣的寫法, 因為在雲中裝置的順序編碼在關機、開機過程中可能發生改變,推薦使用 UUID 或者 LABEL 的方式來指定:

如果使用 UUID,則先通過 “blkid /dev/sdc1” 指令,得到磁盤的 UUID,例如:

/dev/sdc1: UUID="185dc58b-3f12-4e90-952e-7acfa3e0b6fb" TYPE="ext4"

然後在 /etc/fstab 裡面,加入:

UUID=185dc58b-3f12-4e90-952e-7acfa3e0b6fb /application ext4 defaults 0 2

如果使用 LABEL,則在格式化硬碟時,需要指定 LABEL,例如:

mkfs -t ext4 -L MY_DISK_LABEL /dev/sdc1

LABEL=MY_DISK_LABEL /mnt/mydisk ext4 defaults 0 2

腳本自動建立:分區、檔案系統、挂載、開機啟動

#!/bin/bash
 
HDD_ID=`fdisk -l | grep sd[cde] | awk '{print $2}' | cut -d: -f1`
 
fdisk $HDD_ID << EOF
n
p
1
 
 
w
EOF
echo "/n/n******$HDD_ID __was Fdisked! Waiting For 10 Second*****/n/n"  
sleep 10s
 
mkfs.ext4 ${HDD_ID}1
 
if [ $? -eq 0 ];then
          echo "/n/n*****${HDD_ID}1 _________________was Formated, Waiting For 5 Second****/n/n" 
          sleep 5s
else     exit 11
fi
mkdir -p /application && mount -t ext4 /dev/sdc1 /application
 
UUID=`blkid ${HDD_ID}1 | awk '{print $2}'`
 
echo "$UUID /application ext4 defaults 0 2" >> /etc/fstab      

繼續閱讀