使用 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

然后根据提示,依次输入 np1, 以及 两次回车,然后是 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