linux系统中的分区和文件系统以及LVM管理
分类:
文章
•
2024-08-01 18:01:04
分区和文件系统:
一、MBR信息
1.MBR主引导分区 446字节
2.MPT主分区表 64字节
3.硬盘有效性标示“55aa” 2字节
4.分区大小为16字节,故有4个分区
其中3个主分区,1个扩展分区,扩展分区中可添加逻辑分区。
注意:MBR分区最大只能分2TB,可识别的分区总数为16,可用的为14。
二、系统设备类型
1./dev/xdxn
x:硬盘类型(s:sata硬盘 h:串口硬盘 v:虚拟硬盘)
x:a..z,硬盘所在个数
n:1..16,分区所在个数
2./dev/cdrom 系统光驱
/dev/mapper/files 虚拟硬盘的文件
三、硬盘分区
1.fdisk /dev/vdb 进行分区

2.分区命令
d delete a partition 删除分区
l list known partition types 列出
m print this menu 帮助说明
n add a new partition 新增分区
p print the partition table 显示分区
q quit without saving changes 退出不保存
t change a partition's system id 修改分区id
w write table to disk and exit 将当前操作写入分区表
3.fdisk /dev/vdb 进行分区
4.fdisk -l 列出磁盘分区信息

5.查看系统可识别分区
cat /proc/partitions
6.查看系统可用分区
blkid

四、文件系统
1.文件系统类型
ext4: 支持1EB(1EB=1024PB 1PB=1024TB)的文件系统和单个16TB的文件
linux 6的标准文件系统。
ext2 : 支持最大分区4TB,最大文件2GB
适合小型存储设备。
vfat : 支持包括一系列相关文件系统(VFAT/FAT16/FAT32),针对较旧版本的Microsoft Windows开发。
xfs : 支持最大分区9EB
linux 7的标准文件系统,数据完全、性能稳定、扩展性强(8E-1b),传输效率(7G/s)。
2.添加分区并格式化分区
mkfs.xfs /dev/vdb5 ##文件系统类型xfs。
注意:可用mkfs -t xfs /dev/vdb5进行格式化

3.挂载mount命令
普通挂载
mount /dev/vdb5 /mnt

注意:挂载时可以加参数挂载,挂载后也可以修改参数。
参数挂载
mount -o ro /dev/vdb5 /mnt 挂载状态只读
挂载后修改参数
mount -o remount,rw /dev/vdb5 /mnt 挂载状态只读改为读写
mount -o remount,strictatime /dev/vdb5/mnt/ **更改文件挂载时间
4.卸载umount
正常卸载:umount /mnt
当/mnt被占用时,不能正常卸载:

可用lsof(8)查看不能卸载原因:

kill -9 4000 **强制结束进程,然后卸载。
或者用fuser(1)查看:
kill -9 4000 **强制结束进程
fuser -vmk /mnt/ **结束进程
fuser -vmk /mnt,然后卸载。

5.mount 查看挂载信息


五、gpt分区
1.GUID磁碟分割表
GUID Partition Table:全局唯一标识磁盘分区表
特性对比:
MBR: 3个主分区,1个扩展分区(下含逻辑分区),最多识别16个
GPT:128个分区,管理硬盘大小18EB
ext3:最多支持32TB
ext4:最多支持1EB
xfs:容量8EB-1byte
2.修改前准备(例/dev/vdb)
将要分区的硬盘停止(卸载所有设备)
将该磁盘格式化
3.修改MBR分区改为GPT分区:修改完成quit退出。
parted /dev/vdb
(parted) mklabel
New disk label type?
aix amiga bsd dvh gpt loop mac msdos pc98 sun

六.添加swap分区:
1. swapon -s 查看swap分区
2. fdisk /dev/vdb 添加一个分区

3. mkswap /dev/vdb1 格式化vdb1分区
4. swapon -a /dev/vdb1 查看vdb1分区
5. swapon -s 查看分区
6. vim /etc/fstab 编辑配置文件
内容为:
/dev/vdn1 swap swap defaults 0 0
7. fdisk /dev/vdb 添加一个分区
8. cat /proc/partitions 查看分区表
9.partprobe 重新读取分区表
10. cat /proc/partitions 查看分区表
11. mkfs.xfs /dev/vdb2 格式化分区表
12. vim /etc/fstab 编辑配置文件
内容为:
dev/vdn2 /mnt xfs defaults 0 0

12. df 查看挂载点
13. mount /dev/vdb2 /mnt/ 挂载swap分区
14. df 查看挂载点
15.chmod 1777 /mnt/ 改变权限
16. su - stuedent 切换student用户测试
17.测试:切换到student用户
1.[[email protected] ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=10
count=10(依次加大)
七.分区配额:
1. umount /mnt/ 卸载挂载
2. mount -o usrquota /dev/vdb2 /mnt/ 重新挂载
3. rm -fr /mnt/studentfile 删除studentfile文件
4. edquota -u student 设定配额
内容为:
Disk quotas for user student (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/vdb2 0 0 10240 0 0
5.测试:切换到student用户
1.[[email protected] ~]$ dd if=/dev/zero of=/mnt/studentfile bs=1M count=10
count=10(依次加大)

八.删除swap分区:
1. umount /mnt/ 卸载挂载
2.swapoff /dev/vdb2 关闭分区
3.swapoff /dev/vdb1 关闭分区
4. df 查看挂载
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 10473900 3765032 6708868 36% /
devtmpfs 469344 0 469344 0% /dev
tmpfs 484932 140 484792 1% /dev/shm
tmpfs 484932 12804 472128 3% /run
tmpfs 484932 0 484932 0% /sys/fs/cgroup

5.swapon -s 查看分区
6.fdisk /dev/vdb---d 删除分区

九.给swap分区加密:
1. fdisk /dev/vdb 添加分区
2.cryptsetup --help 查看用法
3.cryptsetup luksFormat /dev/vdb1 添加密码
4.cryptsetup open /dev/vdb1 westos 打开分区,输入密码

5.mkfs.xfs /dev/mapper/westos 格式化

6. ll /dev/mapper/westos 显示westos里文件
lrwxrwxrwx. 1 root root 7 Apr 16 23:10 /dev/mapper/westos -> ../dm-0
7. mount /dev/mapper/westos /mnt/ 挂载

8.touch /mnt/file{1..10} 件文件
9. ls /mnt/ 查看文件

10. umount /mnt/ 卸载
11.cryptsetup close westos
12.mount /dev/mapper/westos /mnt/

注意:关闭之后,想重新挂在,需重新打开,建立磁盘文件。
13.cryptsetup open /dve/vdb1 westos 打开需要重新输入密码

14.vim /root/diskpass 编辑文件内容写入密码。
15. chmod 600 /root/diskpass 改变权限
16. vim /etc/crypttab 编辑文件


14. vim /etc/fstab


17. cryptsetup luksAddKey /dev/vdb1 /root/diskpass 告诉系统密码文件

18.reboot 重启df查看自动挂载。

注意:如果配置文件书写错误,启动不了可以ctrl+d进入无图形界面,登陆root用户进行修改配置文件,然后重新启动。
十.删除swap分区加密:
1. umount /mnt/ 卸载

2. cryptsetup close westos 关闭westos
3. mkfs.xfs /dev/vdb1 -f 强制格式化
4. vim /etc/crypttab 删除配置文件内容
5. rm -fr /root/diskpass 删除文件
6. vim /etc/fstab 删除配置文件内容

磁盘阵列管理:
0:1/2 + 1/2 ##写入 1:1+1 ##读取 5:0 + 1 ##至少3块磁盘,如2个0,1个1。
1.建立3个分区,类型改为raid
Command (m for help): t
Partition number (1-5, default 5): 2
Hex code (type L to list all codes): fd
Changed type of partition 'Linux' to 'Linux raid autodetect'


2、管理raid磁盘
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1,3,5}
-C ##新建 -a ##表示若目录/dev/md0不存在,建立新的
-l ##磁盘等级 -n ##使用磁盘个数 -x ##闲置磁盘个数

3.查看磁盘信息
mdadm -D /dev/md0
Number Major Minor RaidDevice State
0 253 18 0 active sync /dev/vdb1
1 253 19 1 active sync /dev/vdb3
2 253 21 - spare /dev/vdb5
或者 cat /proc/mdstat
Personalities : [raid1]
md0 : active raid1 vdb1[3](S) vdb5[2] vdb3[1]
1048000 blocks super 1.2 [2/2] [UU]


4.mkfs.xfs /dev/md0 格式化

5.mount /dev/md0 /mnt 挂载

4.破坏一块磁盘,则另一块马上同步数据
mdadm /dev/md0 -f /dev/vdb1
Number Major Minor RaidDevice State
2 253 21 0 active sync /dev/vdb5
1 253 19 1 active sync /dev/vdb3
0 253 18 - faulty /dev/vdb1


5.卸载阵列
umount /mnt/ 删除挂载

mdadm -S /dev/md0 停止阵列

6.删除这几个raid模式磁盘
partprobe 重读分区表

lvm逻辑卷:
1.新建两个磁盘,改变磁盘id为8e(lvm)


2.watch -n 1 'pvs;echo======;vgs;echo======;lvs;df -h /date' 监控命令

3.mkdir /date 新建一个挂载目录
4.pvcreate /dev/vdb1 将物理硬盘分区初始化为物理卷,以便lvm使用

vgcreate vg0 /dev/vdb1 使用/dev/vdb1物理卷创建lvm卷组 起名为vg0

lvcreate -L 100M -n lv0 vg0 创建一个100M大小的名字为lv0的lvm逻辑卷(使用的卷组为vg0)

mkfs.xfs /dev/vg0/lv0 格式化

5.mount /dev/vg0/lv0 /date/ 挂载

6.拉伸卷组
lvextend -L 200M /dev/vg0/lv0 改变lvm卷的大小
xfs_growfs /dev/vg0/lv0 作改变操作后需要同步文件


7.拉伸设备
当需要拉伸的逻辑卷大小已经超过了卷组的大小,需要给卷组作拉伸
pvcreate /dev/vdb2 将物理硬盘分区vdb2初始化为物理卷
vgextend vg0 /dev/vdb2 将物理卷加到vg0卷组里

lvextend -L 800M /dev/vg0/lv0 改变lvm卷的大小


xfs_growfs /dev/vg0/lv0 作改变操作后需要同步文件

8.缩减卷组大小
如果需要删除卷组里的设备,必须在挂载之前就将lvm卷格式化为.ext4格式
mkfs.ext4 /dev/vg0/lv0

mount /dev/vg0/lv0 /date/ 挂载lvm卷
resize2fs /dev/vg0/lv0 resize2fs命令用来增大或收缩未加载的文件系统的大小,如果文件系统是处于挂载状态,那么它只能作扩容
umount /date/ 卸载lvm卷

e2fsck -f /dev/vg0/lv0 扫描

mount /dev/vg0/lv0 /date/ 挂载

lvreduce -L 200M /dev/vg0/lv0 缩减lvm卷占用的空间大小

9.如果想要删除掉正在使用的物理卷,需要将使用的物理卷同步到另一个物理卷
pvmove /dev/vdb1 /dev/vdb2


vgreduce vg0 /dev/vdb1 将vdb1物理卷从vg0卷组重删除

