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