分区和文件系统:
一、MBR信息
1.MBR主引导分区 446字节
2.MPT主分区表 64字节
3.硬盘有效标示“55aa” 2字节
4.分区大小为16字节,故有4个分区
其中3个主分区,1个扩展分区,扩展分区中可添加逻辑分区。
5.注意: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.[student@localhost ~]$ 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.[student@localhost ~]$ 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卷组重删除