Linux系统格式化分区
概述
若您购买的 BCC 云服务器镜像是 Linux 系统,在购买新的CDS云磁盘数据盘后,还为该磁盘进行分区和格式化操作后才可正常使用。
操作步骤
您可以采用两种分区方式,一种为 MBR 方式,另一种为 GPT 方式。关于两种方式的差异以及磁盘分区时的注意事项,您可以查看磁盘分区概述。
使用 MBR 分区
本操作步骤是在 CentOS / 7.6 x86_64 (64bit) 系统中为一块新的 5 GB 数据盘(设备名为/dev/vdb)创建一个单分区。
1. 远程登录 BCC 实例
请您先登录 BCC 实例。具体的登录方式请查看登录实例。
2.查看当前磁盘信息
执行fdisk -l
命令查看当前磁盘信息。
[root@instance-xxx ~]# fdisk -l
磁盘 /dev/vda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b8163
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 83886046 41941999+ 83 Linux
磁盘 /dev/vdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
提示:
- 查看前请确认数据盘已经挂载。若未挂载,请将磁盘挂载至实例后查看。
3. 对 CDS 云磁盘进行分区
使用 fdisk 方式对数据盘进行分区,请依次执行以下命令:
- 执行
fdisk /dev/vdb
进行数据盘分区; - 输入p后按回车:打印分区列表以查看数据盘分区情况;本实例中该磁盘还未进行分区;
- 输入n后按回车:创建一个新分区;
-
输入p后按回车:选择分区类型为主分区;
提示:
- 该操作步骤是为磁盘创建一个单独的分区,即只需要主分区。若您需要为磁盘创建多个分区,请选择'e'。
- 输入分区编号后按回车:本示例中,仅创建一个分区,输入1;
- 输入第一个可用的扇区编号后按回车:采用默认值2048;
- 输入最后一个扇区编号后按回车:若创建一个分区,按回车键即可采用默认值;若您需要创建多个分区,请根据实际情况输入扇区编号;
- 输入p后按回车:打印分区列表查看当前数据盘分区情况;
- 输入w后按回车:开始分区操作;
[root@instance-xxx ~]# fdisk /dev/vdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x88504a48 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):p
磁盘 /dev/vdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbc3ca63f
设备 Boot Start End Blocks Id System
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):1
起始 扇区 (2048-10485759,默认为 2048):2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):
将使用默认值 10485759
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/vdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbc3ca63f
设备 Boot Start End Blocks Id System
/dev/vdb1 2048 10485759 5241856 83 Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
提示:
- fdisk 分区命令参数如下: b :编辑 bsd disklabel; c :切换 dos 兼容性标志; d :删除一个分区; g :创建一个新的空 GPT 分区表; G :创建一个 IRIX(SGI)分区表; l :列出已知的分区类型; m 打印帮助菜单; n :添加一个新分区; o :创建一个新空 DOS 分区表; p :打印分区表信息; q :退出而不保存更改; s :创建一个新的空的 Sun 磁盘标签; t :更改分区的系统 ID; u :更改显示/输入单位; v :验证分区表; w :将分区表写入磁盘并退出; x :额外功能
4. 查看新分区
执行命令 fdisk -l
,可以查看新的分区vdb1建立完成。
[root@instance-xxx ~]# fdisk -l
磁盘 /dev/vda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b8163
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 83886046 41941999+ 83 Linux
磁盘 /dev/vdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xbc3ca63f
设备 Boot Start End Blocks Id System
/dev/vdb1 2048 10485759 5241856 83 Linux
5. 创建一个文件系统
执行 mkfs.ext4 /dev/vdb1
命令在新分区上创建一个文件系统。创建时间长短根据 CDS 磁盘容量大小而变化。
[root@instance-xxx ~]# mkfs.ext4 /dev/vdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310464 blocks
65523 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
提示:
- 您也可以根据自己的需要,创建其他文件系统。
6. 挂载文件系统
执行 mount /dev/vdb1 /mnt
命令将该文件系统挂载至 /mnt 节点。
[root@instance-xxx ~]# mount /dev/vdb1 /mnt
提示:
- 如果需要把 CDS 磁盘挂载到其他目录,可以修改以上命令中的 /mnt 至其他挂载节点。
7. 查询磁盘分区UUID
UUID是Linux系统中磁盘分区唯一标识符。
您可以执行命令:blkid 磁盘分区 查询UUID,如blkid /dev/vdb1进行查询
[root@instance-xxx ~]# blkid /dev/vdb1
/dev/vdb1: UUID="2bc6f6d2-0c6b-4946-b038-91562520a942" TYPE="ext4"
8. 写入分区信息
写入分区信息有两种格式:
1、盘符格式,如:/dev/vdb1 /mnt ext4 defaults 0 0
2、UUID格式,如:UUID=84953f78-xxxx-4dbd-ac60-aaabc2e4cb9c / ext4 defaults 1 1
由于云服务器在重启或者关闭等过程中,盘符可能会发生偏移,如/dev/vdb1 变成了 /dev/vdb2等,可能会导致云服务器无法正常启动或运行的情况。所以建议您采用UUID格式来配置分区信息。
使用vim编辑器打开'/etc/fstab'文件,命令:vim /etc/fstab
输入i进入编辑模式后,将上一步获取到的UUID、盘符、文件系统类型等信息添加到fstab文件中,按esc,输入':wq'保存即可:
UUID=2bc6f6d2-0c6b-4946-b038-91562520a942 /mnt ext4 defaults 0 0
fstab中格式如下:
<device-spec> <mount-point> <fs-type> <options> <dump> <pass>
- device-spec:设备名称或标签,如磁盘分区的UUID、分区盘符,本示例中UUID=2bc6f6d2-0c6b-4946-b038-91562520a942,分区盘符为/dev/vdb1;
- mount-point:挂载点信息,本示例中为 /mnt;
- fs-type:分区的文件系统格式,本示例中为 ext4;
- options:挂载选项,配置为defaults即可;
- dump:备份选项,可选0和1,如果是0,dump会忽略备份该文件系统;如果是1,则会进行备份,本示例中为 0;
- pass:云服务器启动过程中,是否用fsck检验扇区,可选0,1,2。0:表示不检验;1:表示最早检验(一般只有根目录配置为1);2:仅次于1进行校验。本示例中为:0。
9. 查看新分区信息
执行 cat /etc/fstab
命令查看,出现如下信息表示写入新分区成功。
[root@instance-xxx ~]# cat /etc/fstab
# /etc/fstab
# Created by anaconda on Thu Mar 21 07:01:01 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=84953f78-xxxx-4dbd-ac60-aaabc2e4cb9c / ext4 defaults 1 1
UUID=2bc6f6d2-0c6b-4946-b038-91562520a942 /mnt ext4 defaults 0 0
10. 检验自动挂载功能
- 卸载已经挂载的分区:umount 分区,如 umount /dev/vdb1;
- 加载/etc/fstab信息:mount -a;
- 查询挂载点的文件系统信息:mount | grep 挂载点,如 mount | grep /mnt,如果显示如下类似信息,说明开机自动挂载磁盘分区功能已生效:
[root@instance-xxx ~]# mount | grep /mnt
/dev/vdb1 on /mnt type ext4 (rw,relatime,data=ordered)
11.查看当前磁盘空间
执行 df -h
命令查看挂载情况,如果出现分区信息,表示新分区挂载成功。
[root@instance-xxx ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 40G 1.7G 36G 5% /
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 17M 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
tmpfs 396M 0 396M 0% /run/user/0
/dev/vdb1 4.8G 20M 4.6G 1% /mnt
使用 GPT 分区
本操作步骤是在 CentOS / 7.6 x86_64 (64bit) 系统中为一块新的 2300 GB 数据盘(设备名为/dev/vdc)创建一个单分区。
1. 远程登录 BCC 实例
请您先登录 BCC 实例。具体的登录方式请查看登录实例。
2.查看当前磁盘信息
执行fdisk -l
命令查看当前磁盘信息,可以看到当前 /dev/vdc 磁盘处于为分区状态。
[root@instance-xxxx ~]# fdisk -l
磁盘 /dev/vda:42.9 GB, 42949672960 字节,83886080 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000b8163
设备 Boot Start End Blocks Id System
/dev/vda1 * 2048 83886046 41941999+ 83 Linux
磁盘 /dev/vdc:2469.6 GB, 2469606195200 字节,4823449600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
提示:
- 查看前请确认数据盘已经挂载。若未挂载,请将磁盘挂载至实例后查看。
3.对 CDS 云磁盘进行分区
- 使用 parted 对数据盘进行分区,执行命令
parted /dev/vdc
后回车。根据提示,依次操作如下: - 输入
mklabel gpt
后回车,转为 GPT 分区格式; - 输入
mkpart primary 1 100%
后回车,划分一个主分区,并设置其开始和结束位置; - 输入
align-check optimal 1
后回车,检查分区是否对齐,若返回1,则对齐; - 输入
print
后回车 ,查看当前磁盘的分区表 - 输入
quit
后回车,退出。
[root@instance-xxxx ~]# parted /dev/vdc
GNU Parted 3.1
使用 /dev/vdc
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
(parted) mkpart primary 1 100%
(parted) align-check optimal 1
1 aligned
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdc: 2470GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 2470GB 2470GB primary
(parted) quit
信息: You may need to update /etc/fstab.
4.系统重读分区表
运行命令 partprobe
,使系统重读分区表。
[root@instance-xxxx ~]# partprobe
5.创建文件系统
运行命令 mkfs -t <文件系统格式> /dev/vdc1
创建文件系统,本示例以 ext4 为例。
[root@instance-xxxx ~]# mkfs -t ext4 /dev/vdc1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
150732800 inodes, 602931200 blocks
30146560 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2751463424
18400 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
6.创建挂载点并挂载文件系统
执行 mkdir <挂载点>
创建挂载点,本实例挂载至 /set 挂载点;
执行 mount /dev/vdc1 /set
,将分区 /dev/vdc 挂载到 /set;
执行 df -h
,查看目前磁盘空间和使用情况。
[root@instance-xxxx ~]# mkdir /set
[root@instance-xxxx ~]# mount /dev/vdc1 /set
[root@instance-xxxx ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/vda1 40G 1.7G 36G 5% /
devtmpfs 2.0G 0 2.0G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 2.0G 17M 2.0G 1% /run
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vdb1 4.8G 20M 4.6G 1% /mnt
tmpfs 396M 0 396M 0% /run/user/0
/dev/vdc1 2.3T 85M 2.1T 1% /set
注意:如果您是CentOS、Ubuntu系统,可以使用CDSCMD工具进行自动分区操作。