Linux磁盘分区格式化
在很多情况下,我们需要为具体的业务系统的特定功能需求划定独立的分区,用以提升业务系统的性能和灾备恢复等需求的实现。
常见的例子:
- 我们Linux系统安装时,可以为/var/log分配独立分区,以保护Linux日志的独立性。
- 在mysql中,为binlog分配独立分区,在集群使用时能有更好的性能和可用性。
- 在CEPH分布式存储中,为CEPH的同步日志或缓存服务分配独立的固态硬盘,来提高整体读写性能。
- 新增硬盘数量、新增外挂存储等行为,都需要后续进行分区操作,以下内容是进行分区时的常规操作。
分区前,首先要对磁盘现状做一下了解常用的命令是:
#fdisk –l #列出所有已识别磁盘
#df –h #列出所有已识别磁盘分区挂载情况
在了解了当前分区情况后,根据自己的需求选择命令进行操作,以下是常用的两个分区模式:
小存储容量模式:
容量需要<2.2Tor2.0TiB,且该配置重启后生效
#fdisk [[设备] [命令][参数]]
# fdisk /dev/sda
命令功能:
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 这是删除一个分区的动作;
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) 扩展应用,专家功能;
需要根据需求选择上述中的某个选项,当选择了需要进行的磁盘进行分区后,会自动化运行,需要注意的是如果不确定操作是否有误或者犹豫,可以不保存退回,保存后无法退回。
大存储容量模式:
当硬盘大于2T时,硬盘只能选择gpt格式格式化,分区后不需要重启
#parted [[设备] [命令] [参数]]
#parted /dev/sda print
命令功能:
查看分区表:print
新增分区:mkpart [primary|logical|extended] [ext3|vfat|等] start end
删除分区:rm [partition]
print命令内容:
列出设备文件/dev/sda的已生效分区表记录。
返回值示例:
Model: IBM ServeRAID M5210 (scsi)###列出了磁盘的挂载方式为Raid卡挂载,scsi模式
Disk /dev/sda: 4193GB ###列出了该Raid组的磁盘大小
Sector size (logical/physical): 512B/512B
Partition Table: gpt ###列出了分区类型为gpt分区(2T以上)
Disk Flags:
Number Start End Size File system Name 标志
1 1049kB 2149MB 2147MB fat32 EFI System Partition 启动
2 2149MB 6443MB 4295MB xfs
3 6443MB 681GB 674GB lvm
###Number:分区编号,1代表的就是/dev/sda1,可视作磁盘盘符
###Start:表示起始的柱面位置
###End:表示结束的柱面位置
###Size:等于End减Start,得到这个分区有多少容量
###Type:就是分区类型,有primary(主分区),extended(扩展分区),logical(逻辑分区)
###File system:就如同fdisk的System ID
命令示例:新增分区
#parted /dev/sda mkpart primary xfs 800.0GB 1000.0GB
解释下这个命令内容:
将设备文件/dev/sda指向的磁盘空间进行分区。
新建分区(mkpart)类型为为主分区(primary),分配盘符后格式化为xfs文件系统(xfs),分区开始于磁盘的800GB柱区,结束于1000GB柱区,分区所在硬盘空间大小为200GB(end - start = size),这里还有一个默认操作:为新分区分配盘符,按照已有分区盘符+1分配(与fdisk不同)。
返回值:
信息: You may need to update /etc/fstab.###新增分区需要添加到fstab文件中,以保证系统识别
命令示例:删除分区
#parted /dev/sda rm 4
解释下这个命令内容:
将设备文件/dev/sda中的第四个分区删除。
补充两个可能同时需要使用的命令:
#ls -l /dev/disk/by-uuid/ 获取UUID
###使用UUID挂载到fstab时使用,负责开机识别硬盘
完成分区后格式化磁盘
命令示例:mkfs.xfs -f -n ftype=1 /dev/sda4
上述命令为将第一块硬盘的第四分区格式化为xfs格式,输入mkfs命令后,通过Tab补全选择需要的文件格式
补充几个需要的知识点:
- 一个Raid组等同于一块磁盘,Raid容量等同于该磁盘大小
- 硬盘总容量=主分区(包括扩展分区)总容量+未分配磁盘容量
- 扩展分区容量=逻辑分区总容量
- MBR磁盘结构的分区只能创建4个主分区,所以用1-4表示4个主分区,逻辑分区从5开始
- GPT磁盘结构理论上支持无数个主分区