使用 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
# 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: 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
然后在 /etc/fstab 里面,加入:
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