转载自 青云FAQ

1. 分区格式化

硬盘有 disk size 和 partition size 两个概念。

如果硬盘是第一次加载的硬盘,就需要进行分区、格式化,和 mount 操作。 如果是老硬盘,且没有扩容,就不用再分区、格式化了,直接 mount 就行。

警告 如果硬盘容量大于1TB,不要用 fdisk,可使用 parted 工具进行分区。

以 Ubuntu Linux 为例,以下操作需要 root 权限。

1.1 分区

有两种分区方式, fdiskparted

使用 fdisk 分区

通过 fdisk -l 命令查看挂载的硬盘, 假设为 /dev/vdc

$ fdisk -l
...
Disk /dev/vdc: 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/vdc doesn't contain a valid partition table

对硬盘进行分区

$ fdisk /dev/vdc

然后根据提示,依次输入 n, p, 1, 以及 两次回车,然后是 wq,完成保存。 这样再次通过 fdisk -l 查看时,你可以看到新建的分区 /dev/vdc1

# 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
使用 parted 分区

通过 parted -l 命令查看新挂载的硬盘,假设为 /dev/sdc

$ parted -l
...

错误: /dev/sdc: unrecognised disk label

对硬盘进行分区:

$ parted /dev/sdc

然后创建新分区

(parted) mklabel gpt
(parted) mkpart primary 1049K -1
(parted) quit

这时再查看硬盘信息时会看到 /dev/sdc1

$ parted -l
...
Model: QEMU QEMU HARDDISK (scsi)
Disk /dev/sdc: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     标志
 1      1049kB  10.7GB  10.7GB               primary

1.2 格式化

例如格式化为 ext4 格式

$ mkfs -t ext4 /dev/sdc1

1.3 挂载硬盘

$ mkdir -p /mnt/sdc && mount -t ext4 /dev/sdc1 /mnt/sdc

警告 为了防止宿主机在突然断电时可能对数据带来的风险,如果文件系统是ext3, 则需要在mount的时候显式的指定”barrier=1”选项,例如”mount -t ext3 -o barrier=1 /dev/sdc1 /mnt/point”

2 设置自动挂载

一般在 /etc/fstab 中指定, 推荐使用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 /mnt/mydisk 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

警告 修改完 fstab 请使用 “mount -a” 先检查下是否有问题。