Linux磁盘操作:分区、格式化、挂载
一、分区
fdisk分区
(1)fdisk命令只支持msdos,分区的时候只支持小容量硬盘(<=2T),但是如果不需要分区的话,那么整块sdb硬盘,类型为msdos,那么他的大小是可以大于2T的。(2)fdisk命令不支持gpt,所以当使用fdisk命令给gpt类型硬盘分区是会出现告警
首先先把设备关机,添加一块新的磁盘
(资料图)
fdisk -l磁盘 /dev/sda:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x000e0f54 设备 Boot Start End Blocks Id System/dev/sda1 * 2048 2099199 1048576 83 Linux/dev/sda2 2099200 41943039 19921920 83 Linux磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x8ff20778
[root@localhost ~]# fdisk /dev/sdb欢迎使用 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 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x8ff20778 设备 Boot Start End Blocks Id System
添加主分区(扩展一个磁盘 只分一个主分区20G就行 看完跳到下面第8点)
命令(输入 m 获取帮助):nPartition type: p primary (0 primary, 0 extended, 4 free) e extendedSelect (default p): p分区号 (1-4,默认 1):起始 扇区 (2048-41943039,默认为 2048):将使用默认值 2048Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+500M分区 1 已设置为 Linux 类型,大小设为 500 MiB命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x8ff20778 设备 Boot Start End Blocks Id System/dev/sdb1 2048 1026047 512000 83 Linux
添加扩展分区
命令(输入 m 获取帮助):nPartition type: p primary (1 primary, 0 extended, 3 free) e extendedSelect (default p): e分区号 (2-4,默认 2):起始 扇区 (1026048-41943039,默认为 1026048):将使用默认值 1026048Last 扇区, +扇区 or +size{K,M,G} (1026048-41943039,默认为 41943039):将使用默认值 41943039分区 2 已设置为 Extended 类型,大小设为 19.5 GiB命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x8ff20778 设备 Boot Start End Blocks Id System/dev/sdb1 2048 1026047 512000 83 Linux/dev/sdb2 1026048 41943039 20458496 5 Extended
添加逻辑分区
逻辑分区默认从5开始
命令(输入 m 获取帮助):nPartition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5)Select (default p): l添加逻辑分区 5起始 扇区 (1028096-41943039,默认为 1028096): 将使用默认值 1028096Last 扇区, +扇区 or +size{K,M,G} (1028096-41943039,默认为 41943039):+10G分区 5 已设置为 Linux 类型,大小设为 10 GiB命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x8ff20778 设备 Boot Start End Blocks Id System/dev/sdb1 2048 1026047 512000 83 Linux/dev/sdb2 1026048 41943039 20458496 5 Extended/dev/sdb5 1028096 21999615 10485760 83 Linux命令(输入 m 获取帮助):nPartition type: p primary (1 primary, 1 extended, 2 free) l logical (numbered from 5)Select (default p): l添加逻辑分区 6起始 扇区 (22001664-41943039,默认为 22001664):将使用默认值 22001664Last 扇区, +扇区 or +size{K,M,G} (22001664-41943039,默认为 41943039):将使用默认值 41943039分区 6 已设置为 Linux 类型,大小设为 9.5 GiB命令(输入 m 获取帮助):p磁盘 /dev/sdb:21.5 GB, 21474836480 字节,41943040 个扇区Units = 扇区 of 1 * 512 = 512 bytes扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x8ff20778 设备 Boot Start End Blocks Id System/dev/sdb1 2048 1026047 512000 83 Linux/dev/sdb2 1026048 41943039 20458496 5 Extended/dev/sdb5 1028096 21999615 10485760 83 Linux/dev/sdb6 22001664 41943039 9970688 83 Linux
最后w保存退出
命令(输入 m 获取帮助):wThe partition table has been altered!Calling ioctl() to re-read partition table.正在同步磁盘。
上面几点了解逻辑分区和扩展分区,这里我们还是选择只留一个20G的主分区就行
[root@localhost ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP]sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 20G 0 part sr0 11:0 1 4.4G 0 rom
二、格式化
centos7默认是xfs格式 所以我们分区用mkfs.xfs 命令来格式化/dev/sdb
mkfs.xfs /dev/sdb1
[root@localhost ~]# mkfs.xfs /dev/sdb1meta-data=/dev/sdb1 isize=512 agcount=4, agsize=1310656 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0data = bsize=4096 blocks=5242624, imaxpct=25 = sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal log bsize=4096 blocks=2560, version=2 = sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0
三、挂载
linux万物皆文件,需要创建一个文件,让磁盘挂载到此文件上就可以通过此文件对磁盘进行操作了
创建文件
[root@localhost /]# mkdir /sdb1
mount挂载
[root@localhost ~]# mount /dev/sdb1 /sdb1
df -h 查看
[root@localhost ~]# df -h文件系统 容量 已用 可用 已用% 挂载点devtmpfs 894M 0 894M 0% /devtmpfs 910M 0 910M 0% /dev/shmtmpfs 910M 11M 900M 2% /runtmpfs 910M 0 910M 0% /sys/fs/cgroup/dev/mapper/centos-root 17G 7.7G 9.4G 45% //dev/sda1 1014M 185M 830M 19% /boottmpfs 182M 12K 182M 1% /run/user/42tmpfs 182M 0 182M 0% /run/user/0/dev/sdb1 20G 33M 20G 1% /sdb1
编辑 /etc/fstab 把挂载信息写入到系统配置文件 重启系统磁盘会自动挂在启用
编辑的是添加最下面一条信息
# /etc/fstab# Created by anaconda on Sat Mar 4 13:45:56 2023## 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#/dev/mapper/centos-root / xfs defaults 0 0UUID=a822cd6c-432c-4cbc-b856-5115e008c975 /boot xfs defaults 0 0/dev/mapper/centos-swap swap swap defaults 0 0/dev/sdb1 /sdb1 xfs defaults 0 0
可以重启试试 可以发现开机自动挂载了
[root@localhost ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot└─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm / └─centos-swap 253:1 0 2G 0 lvm [SWAP]sdb 8:16 0 20G 0 disk └─sdb1 8:17 0 20G 0 part /sdb1sr0 11:0 1 4.4G 0 rom