目录
🥝磁盘基本管理
🍭添加磁盘
🍭文件系统
🍭磁盘分区方式
🍉MBR
🍉GPT
🍭基本命令
🥝磁盘配额
🌶️xfs配额
🌶️ext4配额
🌰创建磁盘案例
🥝磁盘高级管理
🌽LVM逻辑卷
🌰创建lvm案例
🍤:关注博主不迷路→大虾好吃吗的博客
点赞👍 关注🍊 留言交流📝
🍤:想了好久要不要做几篇基础文章,就像我前面写的那句话“不要小瞧任何一次学习的机会,否则会发现自己的渺小”,所以决定先做几篇基础文档。因为有一些命令我也忘记了,还需要上网找一些资料,或多或少的有一些错误,欢迎各位的指正。
磁盘基本管理
🍒在Linux服务器中,当现有硬盘的分区规划不能满足需求时,就需要对硬盘中的分区进行重新规划和调整,有时候还需要添加新的硬盘设备来扩展存储空间。
添加磁盘
🍒关于磁盘的添加有两种方式:关机添加,开机后会自动识别,但是生产环境中,服务器一般都是不能关机的,这时就需要开机添加磁盘。那么怎么解决这个问题呢?可以通过以下命令来识别分区。
🍓方式一:关机添加,自动识别。 方式二:开机添加需要命令识别,命令如下:
echo "- - -" >> /sys/class/scsi_host/host0/scan
echo "- - -" >> /sys/class/scsi_host/host1/scan
echo "- - -" >> /sys/class/scsi_host/host2/scan
fdisk -l
文件系统
操作系统用于明确存储设备(常见的是磁盘)或分区上的文件的方法和数据结构;
即在存储设备上组织文件的方法。 linux常见的文件系统: EXT4:Linux系统下的日志文件系统,是EXT3文件系统的后继版本。
-
Ext4的文件系统容量达到1EB,而文件容量则达到16TB。
-
理论上支持无限数量的子目录。
-
Ext4文件系统使用64位空间记录块数量和i-节点数量。
-
Ext4的多块分配器支持一次调用分配多个数据块。
xfs:一种非常优秀的日志文件系统,SGI公司设计的,被称为业界最先进的、最具可升级性的文件系统技术。
-
根据所记录的日志在很短的时间内迅速恢复磁盘文件内容。
-
采用优化算法,日志记录对整体文件操作影响非常小。
-
是一个全64-bit的文件系统,它可以支持上百万T字节的存储空间。
-
能以接近裸设备I/O的性能存储数据。
磁盘分区方式
MBR
主引导记录,支持四个主分区或三主一扩展多个逻辑,每分区最大2TB,兼容性好。
fdisk /dev/sdb p: 显示当前硬件的分区,包括没有保存的改动 n: 创建一个新的分区 d:删除一个分区 w: 保存并退出 q: 不保存退出 t: 修改分区类型(文件系统类型) l: 显示所支持的所有类型
GPT
是GUID分区表(GUID Partition Table)的缩写; 含义为“全局唯一标识磁盘分区表”,是一个实体硬盘的分区表的结构布局的标准。 自纠错能力强,一块磁盘上主分区数量不受(4个的)限制,支持大于18EB的总容量, 几乎没有上限,最大支持到128个分区,分区大小支持到256TB。
gdisk /dev/sdc p: 显示当前硬件的分区,包括没有保存的改动 n: 创建一个新的分区 d:删除一个分区 w: 保存并退出 q: 不保存退出 t: 修改分区类型(文件系统类型) l: 显示所支持的所有类型
基本命令
1、格式化
ext4格式化命令:mkfs.ext4 /dev/sdb1或者mkfs -t ext4 /dev/sdb1
xfs格式化命令:mkfs.xfs /dev/sdc1或者mkfs -t xfs /dev/sdc1
2、挂载磁盘
-
临时挂载:mount /dev/sdb1 /挂载点
卸载:umount /dev/sdb1或者/挂载点
-
永久挂载:vim /etc/fstab
/dev/sdb1 /mail xfs defaults 0 0
设备路径 挂载点 类型 参数 备份标记 检测顺序
卸载:通过删除配置文件卸载。
-
查看挂载情况
mount或df -hT
3、重新识别分区表
partprobe /dev/sdb
4、修复文件系统
xfs-repair /dev/sdb1
5、检测磁盘坏道
badblocks -sv /dev/sdb
6、xfs备份
xfsdump -f /备份路径 /备份文件
7、还原
xfsrestore -f /备份的文件 /还原路径
磁盘配额
指定用户目录内存放大小、数量。通过edquota命令修改软限制、硬限制。
xfs配额
1、挂载并启用配额
mount -o usrquota,grpquota /挂载磁盘 /挂载点
永久挂载参数如下:
/dev/sdb1 /mail xfs defaults,usrquota,grpquota 0 0
2、编辑用户配额
xfs_quota -x -c 'limit -u bsoft:30M bhard:50M isft:3 ihard:5 用户名' /挂载目录
3、也可以针对组编辑配额
xfs_quota -x -c 'limit -g bsoft:30M bhard:50M isft:3 ihard:5 组名' /挂载目录
ext4配额
1、挂载
mount -o defaults,usrquota,grpquota /挂载磁盘 /挂载点
永久挂载参数如下:
/dev/sdb1 /mail ext4 defaults,usrquota,grpquota,defaults 0 0
2、生成配额文件
quotacheck /挂载点
3、启用配额;关闭配额命令用quotaoff
quotaon -ugv /挂载点
4、针对用户配额
edquota -u 用户名
也可以针对组做配额: edquota -g 组名
5、修改配置文件格式如下:
/dev/sdd1 0 30M 50M 0 8 10
创建磁盘案例
🍋开机状态添加三块SCSI20G的硬盘,通过命令刷新识别。
🍋新添加的磁盘sdb、sdc各分两个10G的分区,修改区号为83;sdd分一个20G的分区,区号为8e。
🍋sdb、sdc格式化为xfs文件格式,sdd分为ext4文件格式。
🍋创建三个目录/sdb1、/sdc1、/sdd1并临时和永久挂载sdb1、sdc1、sdd1,用两种方式查看挂载情况。
[root@bj-1-2 ~]# echo "- - -" >> /sys/class/scsi_host/host0/scan
[root@bj-1-2 ~]# echo "- - -" >> /sys/class/scsi_host/host1/scan
[root@bj-1-2 ~]# echo "- - -" >> /sys/class/scsi_host/host2/scan
[root@bj-1-2 ~]# fdisk -l
[root@bj-1-2 ~]# fdisk /dev/sdb
创建分区按键输入:n→p→回车→回车→+10G→t→回车→83→w
[root@bj-1-2 ~]# fdisk /dev/sdc
创建分区按键输入:n→p→回车→回车→+10G→t→回车→83→w
[root@bj-1-2 ~]# fdisk /dev/sdd
创建分区按键输入:n→p→回车→回车→回车→t→8e→w
[root@bj-1-2 ~]# mkfs.xfs /dev/sdb1
[root@bj-1-2 ~]# mkfs.xfs /dev/sdb2
[root@bj-1-2 ~]# mkfs.xfs /dev/sdc1
[root@bj-1-2 ~]# mkfs.xfs /dev/sdc2
[root@bj-1-2 ~]# mkfs.ext4 /dev/sdd1
[root@bj-1-2 ~]# mkdir /sdb1 /sdc1 /sdd1
[root@bj-1-2 ~]# mount /dev/sdb1 /sdb1
[root@bj-1-2 ~]# mount /dev/sdc1 /sdc1
[root@bj-1-2 ~]# mount /dev/sdd1 /sdd1
[root@bj-1-2 ~]# vim /etc/fstab
......省略部分内容
/dev/sdb1 /sdb1 xfs defaults 0 0
/dev/sdc1 /sdc1 xfs defaults 0 0
[root@bj-1-2 ~]# mount
......省略部分内容
/dev/sdb1 on /sdb1 type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sdc1 on /sdc1 type xfs (rw,relatime,attr2,inode64,noquota)
/dev/sdd1 on /sdd1 type ext4 (rw,relatime,data=ordered)
[root@bj-1-2 ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
......省略部分内容
/dev/sdb1 xfs 10G 33M 10G 1% /sdb1
/dev/sdc1 xfs 10G 33M 10G 1% /sdc1
/dev/sdd1 ext4 20G 45M 19G 1% /sdd1
🍋创建用户test1和test2,创建/backup目并挂载磁盘sdd1,启用配额功能。
🍋test1软配额30M硬配额50M,软限制8个硬限制10个;test2软配额8M硬配额10M,软限制3个硬限制5个。
🍋分别切换test1、test2用户测试磁盘限制和文件数量。
[root@bj-1-2 ~]# useradd test1
[root@bj-1-2 ~]# useradd test2
[root@bj-1-2 ~]# mkdir /backup
[root@bj-1-2 ~]# umount /dev/sdd1
[root@bj-1-2 ~]# mount -o usrquota,grpquota,defaults /dev/sdd1 /backup
[root@bj-1-2 ~]# quotacheck /backup
[root@bj-1-2 ~]# quotaon -ugv /backup
[root@bj-1-2 ~]# edquota -u test1
/dev/sdd1 0 30M 50M 0 8 10
[root@bj-1-2 ~]# edquota -u test2
/dev/sdd1 0 8M 10M 0 3 5
[root@bj-1-2 ~]# chmod 707 /backup/
[root@bj-1-2 ~]# su - test1
[test1@bj-1-2 backup]$ cd /backup
[test1@bj-1-2 backup]$ touch test{1..20}
[test1@bj-1-2 backup]$ dd if=/dev/zero of=test1 bs=10M count=10
[test1@bj-1-2 backup]$ ll -h test1
-rw-rw-r-- 1 test1 test1 50M 8月 18 23:16 test1
[test1@bj-1-2 backup]$ exit
登出
[root@bj-1-2 ~]# su - test2
[test2@bj-1-2 ~]$ cd /backup
[test2@bj-1-2 backup]$ touch test{1..10}
[test2@bj-1-2 backup]$ ls
aquota.user test1 test2 test3 test4 test5
[test2@bj-1-2 backup]$ dd if=/dev/zero of=test2 bs=10M count=15
[test2@bj-1-2 backup]$ ll -h test2
-rw-rw-r-- 1 test2 test2 10M 8月 18 23:20 test2
磁盘高级管理
LVM逻辑卷
🍒逻辑卷:动态调整分区大小,扩展性好。
功能 | PV物理卷 | VG卷组 | LV逻辑卷 |
---|---|---|---|
创建 | pvcreate | vgcreate | lvcreate |
扫描 | pvscan | vgscan | lvscan |
显示详细 | pvdisplay | vgdisplay | lvdisplay |
删除 | pvremove | vgremove | lvremove |
减少 | vgreduce | lvreduce | |
扩展 | vgextend | lvextend | |
是否启动 | vgchange | ||
LV大小调整 | lvresize |
创建lvm案例
🍋添加两块硬盘,各分两个区(10G)指定区号为8e。
🍋创建4个pv,sdb1、sdb2、sdc1创建vg01卷组,创建逻辑卷lv01指定为10G。
🍋扩展磁盘到35G,卷组内现在没有35G,需要先增加vg01卷组,在增加逻辑卷lv01,格式化并重新识别大小。文章来源:https://www.toymoban.com/news/detail-441399.html
🍋随后可以根据需求增加新的硬盘,格式化增加或减少磁盘,最后重新识别一下大小就可以了。文章来源地址https://www.toymoban.com/news/detail-441399.html
[root@localhost ~]# pvcreate /dev/sdb{1,2}
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdb2" successfully created.
[root@localhost ~]# pvcreate /dev/sdc{1,2}
Physical volume "/dev/sdc1" successfully created.
Physical volume "/dev/sdc2" successfully created.
[root@localhost ~]# vgcreate vg01 /dev/sdb1 /dev/sdb2 /dev/sdc1
Volume group "vg01" successfully created
[root@localhost ~]# lvcreate -L 10G -n lv01 vg01
Logical volume "lv01" created.
[root@localhost ~]# vgextend vg01 /dev/sdc2
Volume group "vg01" successfully extended
[root@localhost ~]# lvextend -L 35G /dev/vg01/lv01
Size of logical volume vg01/lv01 changed from 20.00 GiB (5120 extents) to 35.00 GiB (8960 extents).
Logical volume vg01/lv01 successfully resized.
[root@localhost ~]# mkfs.xfs /dev/vg01/lv01
meta-data=/dev/vg01/lv01 isize=512 agcount=4, agsize=2293760 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=9175040, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=4480, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@localhost ~]# xfs_growfs /dev/vg01/lv01
xfs_growfs: /dev/vg01/lv01 is not a mounted XFS filesystem
[root@localhost ~]# lvdisplay
......省略部分内容
--- Logical volume ---
LV Path /dev/vg01/lv01
LV Name lv01
VG Name vg01
LV UUID jaGfIc-YdXR-laJO-L8u2-3SFk-9ddT-dUG7UA
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2022-08-19 01:36:55 +0800
LV Status available
# open 0
LV Size 35.00 GiB
Current LE 8960
Segments 4
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:2
到了这里,关于linux--磁盘管理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!