linux 磁盘管理之实践

上篇文章对linux 磁盘分区类型,步骤做了详细的介绍,在实践操作中举了个parted 命令的交互模式,在实际工作中略显繁锁,下面以实际具体的需求来实践一下磁盘管理。在操作前回顾一下磁盘划分的主要步骤:

1.确认分区设备
2.启动分区工具
3.创建分区表
4.创建分区
5.应用修改
6.格式化分区
7.挂载分区
8.更新 /etc/fstab
9.更新分区并生效

由以上可以看出上面步骤中对于第6步中格式化分区时,我们需要确认好具体的格式化类型,我们知道当前linux 中Ext4 和 XFS 是两种广泛应用于 Linux 系统的文件系统,它们各有特点和优势,适用于不同的应用场景。以下是关于这两种文件系统的详细对比及其推荐的应用场景:

Ext4 文件系统
特点:
•  成熟稳定:作为 ext3 的继承者,ext4 继承了许多成熟的特性,并且在 Linux 社区中得到了广泛的测试和支持。
•  日志功能:确保文件系统在崩溃后能够快速恢复,减少了文件系统的损坏风险。
•  大文件和分区支持:最大支持 16TB 的单个文件大小和 1EB(Exabyte)的分区大小。
•  改进的分配算法:减少了碎片化,提高了读写性能。
•  延迟分配:通过延迟分配磁盘块来优化文件存储位置,提高性能。
•  快速扩展和收缩文件大小。
推荐应用场景:
•  通用服务器环境:由于其稳定性和广泛的兼容性,ext4 非常适合大多数常规服务器应用。
•  桌面系统:对于普通用户来说,ext4 提供了良好的性能和稳定性。
•  虚拟机镜像存储:因为它的可靠性和良好的性能,ext4 是存放虚拟机镜像的好选择。
•  中小型数据库:虽然不是专门针对数据库优化,但对于中小规模的数据集,ext4 也能提供足够的性能。
XFS 文件系统
特点:
•  高性能:特别擅长处理大文件和大量小文件,具有优秀的元数据性能。
•  在线调整大小:可以在不卸载文件系统的情况下调整分区大小。
•  预分配空间:允许为文件预先分配空间,从而提高大文件写入性能。
•  日志功能:确保崩溃后的快速恢复。
•  高并发性:支持多线程并行操作,非常适合多核处理器环境。
•  配额管理:提供详细的用户和组级别的磁盘使用限制。
推荐应用场景:
•  大型文件存储:如媒体服务器、视频编辑工作站等,XFS 处理大文件的能力尤为突出。
•  高性能计算集群:由于其出色的并发处理能力和元数据性能,XFS 在 HPC 环境中表现出色。
•  数据库服务器:特别是那些需要频繁进行随机 I/O 操作的数据库,如 MySQL、PostgreSQL 等。
•  云存储平台:XFS 的高效元数据管理和可扩展性使其成为云服务提供商的理想选择。
•  备份和归档系统:由于其对大文件的良好支持以及在线调整大小的功能,XFS 也适用于长期数据存档。


由此可以看出
•  Ext4 更适合于一般用途的服务器和桌面系统,尤其是当您寻求稳定性和广泛的社区支持时。
•  XFS 则更适合需要高性能、大规模数据处理和高并发访问的应用场景,特别是在涉及到大量大文件或频繁的随机 I/O 操作时。
 

需求1

当前主机已分配好一块盘,容量为300G,需要对磁盘划分100G给mysql 使用,100G 给postgres数据库使用,需要对磁盘进行分区并格式处理。

1.创建分区表,并创建第一个数据分区

// 对vdd 盘创建新的 GPT 分区表,同时创建主分区,大小为磁盘容量的100G
// 创建分区,   parted 硬盘 mkpart  起始大小 终止大小
parted -s /dev/vdd mklabel gpt  mkpart primary 1 100G

2.创建第2个数据分区
#parted -s /dev/vdd mkpart primary 100G 200G

3.查看分区信息
#lsblk
NAME             MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vdd              253:48   0  300G  0 disk
├─vdd2           253:50   0 93.1G  0 part
└─vdd1           253:49   0 93.1G  0 part


PS 以上命令可以使用非分比来进行分配,如
// 对vdd 盘创建新的 GPT 分区表,同时创建主分区,大小为磁盘容量的30%
parted -s /dev/vdd mklabel gpt  mkpart primary  0% 30% 
// 对sdb盘创建新的 创建主分区,大小为磁盘容量的70% 
parted -s /dev/sdb mkpart primary 30% 100%  


4.格式化分区
#mkfs.xfs -f  /dev/vdd1
meta-data=/dev/vdd1              isize=256    agcount=4, agsize=6103424 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=24413696, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=11920, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

#mkfs.xfs -f  /dev/vdd2
meta-data=/dev/vdd2              isize=256    agcount=4, agsize=6103552 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=24414208, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=11921, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

5.挂载分区
mkdir -p /db/{mysql,postgresql}
#mount /dev/vdd1 /db/mysql
#mount /dev/vdd2  /db/postgresql

8.更新 /etc/fstab
$lsblk -lf
NAME           FSTYPE      LABEL UUID                                   MOUNTPOINT
vdd
vdd2           xfs               e2ba053d-ac2f-4acd-b9ef-ab4f7a9dce14   /db/postgresql
vdd1           xfs               29e8a9cc-f061-4819-bfe4-ff3071bf43a5   /db/mysql

echo "UUID=e2ba053d-ac2f-4acd-b9ef-ab4f7a9dce14 /db/postgresql  xfs defaults,noatime,nodiratime       0 0" >>/etc/fstab
echo "UUID=29e8a9cc-f061-4819-bfe4-ff3071bf43a5 /db/mysql xfs defaults,noatime,nodiratime       0 0" >>/etc/fstab




需求2

当前有 vdb vdc vdd vde 4块磁盘,需要通过卷的管理方式创建两个分区,一个用于存放数据库数据,一个用于放数据库的日志,并要使用磁盘性能最大人

1.确认分区设备 ## vdb vdc vdd vde
fdisk -l
2.启动分区工具 ,创建分区表
for disk in vdb vdc vdd vde
do
    parted -s /dev/$disk mklabel gpt
done

4.创建分区 
for disk in vdb vdc vdd vde
do
    parted -s /dev/$disk mkpart primary 1 100%
done

pv create /dev/{vdb1,vdc1,vdd1,vde1}
vg create vg_data /dev/{vdb1,vdc1,vdd1,vde1}

lvcreate  -l 20%FREE -i 4 -I 128k --name log vg_data
lvcreate  -l 100%FREE -i 4 -I 128K --name data vg_data


5.应用修改
6.格式化分区
mkfs.xfs /dev/vg_data/log
mkfs.xfs /dev/vg_data/data
7.挂载分区
mkdir -p /db/data /db/log

8.更新 /etc/fstab
echo "/dev/vg_data/data  /db/data xfs defaults,noatime  nodiratime, 0 0 ">>/etc/fstable

echo "/dev/vg_data/log  /db/log xfs defaults,noatime  nodiratime, 0 0 ">>/etc/fstable

 #echo "/dev/vg_data/log    /db/log    ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0  0 0" >> /etc/fstab
 # echo "/dev/vg_data/data   /db/data   ext4 defaults,noatime,nodiratime,nodelalloc,barrier=0  0 0" >> /etc/fstab

mount -a 

9.更新分区并生效
partprobe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值