13磁盘与文件系统管理
时间:2023-05-28 08:37:01
磁盘和文件系统管理
磁盘结构及分区
磁盘结构
硬盘存储容量=磁头数×磁道(柱面)数×每道扇区数×每个区域的字节数
柱面磁头扇区域可用于定位磁盘上的每个区域
磁盘接口类型:IDE、SATA、SCSl、SAS、光纤通道
磁盘分区
MBR
表示主导记录(MBR:Master Boot Record)
MBR位于硬盘第一物理扇区,MBR它包括硬盘主导程序和硬盘分区表。分区表有4个分区记录区,每个分区记录区占16个字节
磁盘分区结构
硬盘主分区只有4个
主分区和扩展分区的序号限制在1~4
扩展分区分为逻辑分区
逻辑分区的序号将始终从5开始
文件系统类型
XFS文件系统
分区存储文件和目录数据,高性能日志文件系统,CentOS7系统中默认使用的文件系统。
SWAP,交换文件系统
为Linux系统建立交换分区
Linux其他文件系统类型支持
FAT16、sFAT32、NTFS
EXT4、JFS
磁盘和分区的管理
检测并确认新硬盘
fdisk命令:检查或管理磁盘分区
fdisk -l [磁盘设备]
或
fdisk[磁盘设备]
交互模式中常用的说明:
m、p、n、d、t、w、q
d #删除一个分区
l #查看磁盘信息#显示已知的分区类型,其中82是Linux swap分区,83为Linux分区
m#显示帮助菜单
n#增加新的分区
p#显示磁盘当前分区表
q#退出fdisk程序不保存任何修改
t##改变分区的系统号
m#输入m指令
a #设置引导标记
b #修改bsd的磁盘标签
c #设置DOS操作系统兼容标记
o#创造新的空白DoS分区表
s#创造新的空白Sun磁盘标签
u#变更显示记录单位
v#验证磁盘分区表
w#保存修改结果并退出fdisk程序
x不建议初学者使用特殊功能
管理文件系统
装卸文件系统
df -hT#查看挂载信息
mount命令
挂载文件系统,SO镜像到指定文件夹
mount[-t类型] 存储设备 挂载点目录
mount-o loop ISO镜像文件 挂载点目录
mount:临时挂载
umounti命令
卸载已挂载的文件系统
umount存储设备的位置
umount挂载点目录
lsblk
#查看详细信息
blkid(块设备) /dev/sdb1
#查看UUID
vim /etc/fstab
#进入文件系统列表
UUTD=2a740657-a827-4a7b-8b30-a502b7255cb3 /home xfs defaults 0 0
在/etc/fstab
在文件中,每行记录一个分区或设备的挂载配置信息,从左到右包含六个字段(使用空间或制表符隔),每个部分的含义如下。
/dev/sdb1 /home xfs defaults 0 0
第一段:设备名或设备卷标名。
二字段:文件系统挂载点目录的位置。
第三段:文件系统类型,如XFS、Swap等。
第四段:挂载参数,即mount命令"-o"可用于选项后的参数。defaults、rw、ro、noexec默认参数、可写、只读、禁用执行程序分别表示。
第五字段:表示文件系统是否需要dump备份(dump它是一种备份工具)。一般设表示需要,设为0时表示需要dump忽略。
第6字段:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区应设为1,其他分区设为2。
通过在/etc/fstab在文件中添加相应的挂载配置,可实现启动后指定的自动挂载分区。
mount -a#刷新
创建文件系统(格式化)
mkfs.xfs /dev/sdbl和mkfs -t xfs /dev/sdbl
SWAP创建系统文件
mkswap /dev/sdb5#创建分区
swapon是开启swap 注:/dev/sdb2(swap分区)
swapoff是关闭swap 注:/dev/sdb2(swap分区)
swapon -s#检查每个分区swap状态信息
free -m#查看总的swap状态信息,利用率占比。
FAT32创建系统文件
mkfs -t vfat -F 32 /dev/sdb6 或 mkfs.vfat -F 32 /dev/sdb6
mkfs -t xfs /dev/sdb1
LVM与磁盘配额
Logical Volume Manager(LVM),逻辑卷管理
磁盘容量可以在保持现有数据不变的情况下动态调整,从而提高磁盘管理的灵活性。
boot分区用于存储指导文件,不能基于LVM创建。LVM可操作对象:①完整的磁盘②分区完整。
PV(物理卷 )磁盘的最小单元是PE=4M
VG(卷组)
LV(逻辑卷)
流程:
1)硬盘分区
fdisk /dev/sdb
fdisk /dev/sdc
2)创建物理卷sdb1 sdc1
[root@kgc ~]pvcreate /dev/sdb1 /dev/sdc1
Physical volume "/dev/sdb1"successfully created.
Physical volume "/dev/sdcl"successfully created.
3)创建卷组mail store web_kgc(卷组名)
vgcreate mail store /dev/sdbl /dev/sdcl
[root@kgc ~]vgcreate web_kgc /dev/sdb1 /dev/sdc1
Volume group "web kgc"successfully created
4)创建逻辑卷磁盘分区
lvcreate -L 容量大小 -n 逻辑卷名 卷组名
lvcreate -L 10G -n
[root@kgc ~]lvcreate -L 10G -n njzb web_kgc
Logical volume "njzb"created.
5)创建文件系统
mkfs.xfs /dev/web kgc/njzb
7)挂载目录/mai1box
mount /dev/web kgc/njzb /home
vim /etc/fstab挂载点
永久挂载
[root@kgc /]echo "/dev/web kgc/njzb
再扩容
echo “—”/sys/class/scsi host/host1/scan
vgextend vgname1 /dev/sdc2
lvextend -L 10G /dev/vgname1/1vnamel
xfs_growfs /dev/vgname1/1vname1//刷新xfs文件系统容量
resize2fs /dev/vgname1/1vname1//刷新ext4类型文件系统容量
df -hT#查看挂载信息
补充:##强制解载
umount -f /data
##查看占用过程
fuser -cu /datal/img
#杀死进程
kil1 -9 pid
磁盘配额概述
磁盘配额的本质是基于Linux操作系统功能
控制方向包括两种资源限制手段:在指定目录下,指定用户身份允许创建文件数量和磁盘空间大小。
控制对象有两部分:
①目录
②用户身份
控制手段(上限):
①文件数量
②磁盘空间
管理类型控制(软限制、硬限制)
总的来说,磁盘配额能防止某些个体用户使用文件系中不允许使用的那部分,以防造成系统拥堵,尽管目前只能在XFS文件系统中饭设置,但对解决磁盘的空间满额问题有着很大的帮助,由于1iux系统是多人多任务的环境,所以会有多人共同使用一个硬盘空间的情况发生。如果其中有少数几个用户占用了硬盘空间的话,那势必压缩其他用户的使用权利。因此管理员应该适当地限制用户的硬盘容量,以妥善分配系统资源,避免有人抗议。
实现磁盘限额的条件:需要Linux内核支持,安装xfsprogs与quota软件包
Linux磁盘限额的特点:
作用范围:针对指定的文件系统(分区)
限制对象:用户帐号、组帐号
限制类型:磁盘容量、文件数量
限制方法:软限制、硬限制
磁盘限额的特点
1.磁盘配额的作用范围
xfs quota设置的磁盘配额功能,只在指定的文件系统(分区)内有效,用户使用其他未设置配额的文件系统时,将不会受到限制。
2.磁盘配额的限制对象
xfs_quota
主要针对系统中指定的用户账号、组账号进行限制,没有被设置限额的用户或组将不受影响。对组账号设置配额后,组内所有用户使用的磁盘容量、文件数量的总和不能超过限制。
3.磁盘配额的限制类型
磁盘容量:限制用户能够使用的磁盘数据块(B1ock)大小,也就是限制磁盘空间大小,默认单位为KB。
文件数量:限制用户能够拥有的文件个数。在工iux操作系统中,每一个文件都有一个对应的数字标记,称为i
结点(Iode)编号,这个编号在同一个文件系统内是唯一的,因此xfs quota通过限制i结点的数量来实现对文件数量的限制。
4.磁盘配额的限制方法
软限制:指定一个软性的配额数值(如480MB磁盘空间、180个文件),在固定的宽限期(默认为七天)内允许暂时超过这个限制,但系统会给出警告信息。
硬限制:指定一个硬性的配额数值(如500MB磁盘空间、200个文件),是绝对禁止用户超过的限制值,当达到硬限制值时,系统也会给出警告并禁止继续写入数据。硬限制的配额值应大于相应的软限制值,否则软限制将失效。
从以上描述中可以看出,在实施磁盘配额的实际过程中,只有当用户(或组)、文件系统(分区)及配额数值都满足限额条件时,fs quota才会对操作进行限制。
cent0S7中设置磁盘配额步骤:
1、检查是否己安装xfsprogs和xfs quota软件包
rpm -q xfsprogs quota
yum install -y xfsprogs quota
2、以支特配额功能的方式挂载文件系统
umount /dev/vgname1/1vnamel
mount -o usrquota,grpquota /dev/vgname1/1vnamel /opt
#添加挂载参数"usrquota,grpquota"用于增加对用户、组配额功能的支持
或者
vim /etc/fstab
/dev/vgnamel/1vname1 /opt xfs defaults(默认权限),usrquota(文件所属用户quota),grpquota 00
umount /dev/vgname1/lvnamel
mount -a#-a选项,将/etc/fstab的所有内容重新加载
注:增强型安全功能关闭如果是6的话磁盘配额是不能写入数据的
setenforce 0
3、编辑用户和组账号的配额设置
useradd lisi
echo “123” | passwdd --stdin lisi
xfs_quota -x -c ‘limit -u bsoft=80M bhard=100M isoft=8 ihard=10 lisi’ /opt/
-x:表示启动专家模式,在当前模式下允许对配额系统进行修改的所有管理命令可用。
-c:表示直接调用管理命令(command)。
-u:指定用户账号对象
-g:指定组账号对象
bsoft:设置磁盘容量block的软限制数值(默认单位为KB)。
bhard:设置磁盘容量的硬限制数值(默认单位为KB)。
isoft:设置磁盘文件数的软限制数值。
ihard:设置磁盘文件数的硬限制数值。
#仅限制磁盘容量
xfs_quota -x -c ‘limit -u bsoft=80M bhard=100M lisi’ /njzb xm/
#仅限制文件数
xfs_quota -X -c ‘limit -u isoft=4 ihard=5 lisi’ /njzb xm/
#查看lisi磁盘:容量限制
xfs_quota -c ‘quota -uv lisi’ /njzb xm/
#查看zhangsan文件数限制
xfs_quota -c ‘quota -i -uv lisi’ /njzb xm/
查看磁盘配额
report常用选项:
-u:对用户查看
-g:对组查看
-a:查看所有可用分区的配额使用报告
-b:查看磁盘容量
-i:查看文件数
4、险证磁盘配额功能
chmod 777 /njzb xm
Su lisi
cd /njzb xm
#验证磁盘容量超限
dd if=/dev/zero of=/data/kgc.txt bs=10M count=12
#验证磁盘文件数超限
touch {aa,bb,cc,dd,ee,ff}.txt
touch test{1…6}.txt
dd命令是一一个设备转换和连续复制命令
"if=”指定输入设备(或文件)
"of="指定输出设备(或文件)
"bs="指定读取数据块的大小
"count="指定读取数据块的数量
/dev/zero"零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。
5、查看配额使用情况
#查看所有可用分区的磁盘容量配额使用情况
xfs quota -x -c 'report -aibh’jh
f=/data/kgc.txt bs=10M count=12
#验证磁盘文件数超限
touch {aa,bb,cc,dd,ee,ff}.txt
touch test{1…6}.txt
dd命令是一一个设备转换和连续复制命令
"if=”指定输入设备(或文件)
"of="指定输出设备(或文件)
"bs="指定读取数据块的大小
"count="指定读取数据块的数量
/dev/zero"零"设备文件,可以无限的提供空字符。常用来生成一个特定大小的文件。
5、查看配额使用情况
#查看所有可用分区的磁盘容量配额使用情况
xfs quota -x -c 'report -aibh’jh