背景

因为刚装了台CentOS系统,打算再在系统里面装多台虚拟机,组个k8s集群玩下。机器有两块硬盘,一块250G固态,一块500G机械,系统安装在固态里,机械硬盘拿来当作虚拟机分区。

命令

  • fdisk

列出指定的外围设备的[分区表]状况

fdisk -l

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
[root@chobon mnt]# fdisk -l
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

磁盘 /dev/sdb:250.1 GB, 250059350016 字节,488397168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
Disk identifier: AB68C453-844D-4DF0-8C86-CA489772612F


# Start End Size Type Name
1 2048 411647 200M EFI System EFI System Partition
2 411648 2508799 1G Microsoft basic
3 2508800 488396799 231.7G Linux LVM

磁盘 /dev/sda:500.1 GB, 500107862016 字节,976773168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:dos
磁盘标识符:0x1b07a8d2

设备 Boot Start End Blocks Id System
/dev/sda1 2048 83888127 41943040 83 Linux
/dev/sda2 83888128 167774207 41943040 83 Linux
/dev/sda3 167774208 251660287 41943040 83 Linux
/dev/sda4 251660288 335546367 41943040 83 Linux

磁盘 /dev/mapper/centos-root53.7 GB, 53687091200 字节,104857600 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节


磁盘 /dev/mapper/centos-swap8388 MB, 8388608000 字节,16384000 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节


磁盘 /dev/mapper/centos-home186.7 GB, 186692665344 字节,364634112 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节

[root@chobon mnt]#

对指定磁盘操作

fdisk /dev/sda

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
[root@chobon mnt]# fdisk /dev/sda

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):m
命令操作
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)

命令(输入 m 获取帮助):

m 显示帮助
p 显示已有分区
d 删除分区,只有1个分区时,会自动删除已有分区,不用选择
n 创建新的分区
w 保存分区
q 退出不保存


  • df

查看磁盘使用情况

df -l

1
2
3
4
5
6
7
8
9
10
11
[root@chobon mnt]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 0 7.8G 0% /dev/shm
tmpfs 7.8G 9.0M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 2.4G 48G 5% /
/dev/sdb2 1014M 145M 870M 15% /boot
/dev/sdb1 200M 12M 189M 6% /boot/efi
/dev/mapper/centos-home 174G 33M 174G 1% /home
tmpfs 1.6G 0 1.6G 0% /run/user/0

  • lsblk

查看磁盘挂载情况

lsblk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@chobon mnt]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 40G 0 part
├─sda2 8:2 0 40G 0 part
├─sda3 8:3 0 40G 0 part
└─sda4 8:4 0 40G 0 part
sdb 8:16 0 232.9G 0 disk
├─sdb1 8:17 0 200M 0 part /boot/efi
├─sdb2 8:18 0 1G 0 part /boot
└─sdb3 8:19 0 231.7G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 7.8G 0 lvm [SWAP]
└─centos-home 253:2 0 173.9G 0 lvm /home
sr0 11:0 1 1024M 0 rom

查看磁盘挂载情况

lsblk -f

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@chobon mnt]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 ext3 cf513d39-639f-4930-b0dc-0c885ed0e8fc
├─sda2 ext3 8ef922da-f046-426d-9586-1b6c5337e9db
├─sda3
└─sda4
sdb
├─sdb1 vfat 763D-CD48 /boot/efi
├─sdb2 xfs af9a191f-e2da-4043-9680-7fd5116a7969 /boot
└─sdb3 LVM2_member AUDTKH-IqL2-3rEq-Z2aE-q9j2-bPbw-x0K3rz
├─centos-root xfs 7d6ef5f3-f328-4113-bbb7-360b40d79206 /
├─centos-swap swap 01ad31c2-b17d-4168-aa0d-364577e7e925 [SWAP]
└─centos-home xfs bba1142f-7bff-4b72-97bb-20022a9c4d84 /home
sr0

  • parted

列出所有设备的[分区]信息

parted -l

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
[root@chobon mnt]# parted -l
Model: ATA ST500LM021-1KJ15 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:

Number Start End Size Type File system 标志
1 1049kB 43.0GB 42.9GB primary ext3
2 43.0GB 85.9GB 42.9GB primary ext3
3 85.9GB 129GB 42.9GB primary
4 129GB 172GB 42.9GB primary


Model: ATA Crucial_CT250MX2 (scsi)
Disk /dev/sdb: 250GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number Start End Size File system Name 标志
1 1049kB 211MB 210MB fat16 EFI System Partition 启动
2 211MB 1285MB 1074MB xfs
3 1285MB 250GB 249GB lvm


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/centos-home: 187GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop
Disk Flags:

Number Start End Size File system 标志
1 0.00B 187GB 187GB xfs


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/centos-swap: 8389MB
Sector size (logical/physical): 512B/4096B
Partition Table: loop
Disk Flags:

Number Start End Size File system 标志
1 0.00B 8389MB 8389MB linux-swap(v1)


Model: Linux device-mapper (linear) (dm)
Disk /dev/mapper/centos-root: 53.7GB
Sector size (logical/physical): 512B/4096B
Partition Table: loop
Disk Flags:

Number Start End Size File system 标志
1 0.00B 53.7GB 53.7GB xfs



  • mkfs

该命令用来在特定的分区创建linux文件系统,常见的文件系统有ext2,ext3,vfat等

mkfs的使用示例

mkfs -t 文件系统 存储设备

把该设备格式化成xfs文件系统

mkfs.xfs -f /dev/sda

把该设备格式化成ext3文件系统

mkfs.ext3 /dev/sda

把该设备格式化成ext3文件系统

mke2fs -j /dev/sda

格式化成reiserfs文件系统

mkfs.reiserfs /dev/sda

格式化成fat32文件系统

mkfs.vfat /dev/sda

格式化成fat16文件系统,msdos就是fat16

mkfs.msdos /dev/sda

格式化成msdos文件系统

mkdosfs /dev/sda


  • mount

挂载磁盘

mount /dev/sda /data

卸载磁盘

umount /dev/sda

磁盘管理

创建分区

输入fdisk /dev/sda回车,进入硬盘分区

1
2
3
4
5
6
7
8
9
10
11
12
[root@chobon mnt]# fdisk /dev/sda

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):

输入n回车新建分区,

1
2
3
4
5
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e):

输入p回车新建主分区,默认选择4分区,因为主分区只能建4个,我已经建了3个,所以这里没得选,正常情况需要选择分区序号

1
2
3
4
5
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p

此处要求选择分区序号,回车或者输入分区序号34

1
2
3
4
5
6
7
命令(输入 m 获取帮助):n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
分区号 (3,4,默认 3):3
起始 扇区 (251660288-976773167,默认为 251660288):

这里是设置分区起始的柱面,直接回车选择默认即可

1
2
起始 扇区 (167774208-976773167,默认为 167774208):
将使用默认值 167774208

此处是设置分区结束柱面,+40G表示从起始柱面开始向后40G结束,也是是设置分区大小为40G,输入+40G后回车

1
2
3
4
起始 扇区 (167774208-976773167,默认为 167774208):
将使用默认值 167774208
Last 扇区, +扇区 or +size{K,M,G} (167774208-976773167,默认为 976773167):+40G
分区 3 已设置为 Linux 类型,大小设为 40 GiB

此处可输入p查看分区是否成功,输入p回车,显示分区成功

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
命令(输入 m 获取帮助):p

磁盘 /dev/sda:500.1 GB, 500107862016 字节,976773168 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:dos
磁盘标识符:0x1b07a8d2

设备 Boot Start End Blocks Id System
/dev/sda1 2048 83888127 41943040 83 Linux
/dev/sda2 83888128 167774207 41943040 83 Linux
/dev/sda3 167774208 251660287 41943040 83 Linux

命令(输入 m 获取帮助):

对刚建好得分区格式化

1
[root@chobon mnt]# mkfs.xfs -f /dev/sda3

删除分区

输入fdisk /dev/sda回车,进入硬盘分区

1
2
3
4
5
6
7
8
9
10
11
12
[root@chobon mnt]# fdisk /dev/sda

The device presents a logical sector size that is smaller than
the physical sector size. Aligning to a physical sector (or optimal
I/O) size boundary is recommended, or performance may be impacted.
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):

删除分区,输入d回车,选择要删除得分区序号4回车

1
2
3
命令(输入 m 获取帮助):d
分区号 (1-4,默认 4):4
分区 4 已删除

输入w保存操作

1
2
3
4
5
命令(输入 m 获取帮助):w
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。