Linux系统的磁盘管理和LVM

Linux系统的磁盘管理和LVM

查看本地存储设备
fdisk -l ###真实存在的设备
Linux系统的磁盘管理和LVM
/proc/partition ###系统可识别的设备的路径
blkid ###系统可使用的设备
Linux系统的磁盘管理和LVM
df ###系统挂载正使用你的设备
Linux系统的磁盘管理和LVM
设备的挂载和卸载
/dev/xdx 文件中间字母是d的设备都是存储设备如:/dev/hd0 /dev/hd1 /dev/sda /dev/sda1 /dev/sda2 /dev/sdb 等
/dev/sr0 ##光驱
/dev/mapper/* ##虚拟设备

设备的挂载
mount 设备 挂载点
mount /dev/sdb1 /mnt ####挂载sdb1 到mnt
umount /mnt | /dev/sdb1 ####卸载
mount -o remount,rw /dev/sdb1 /mnt ###重新挂载并且给次挂载目录读写权限
Linux系统的磁盘管理和LVM
将光驱挂载在/westos目录,df查看是否挂载成功

Linux系统的磁盘管理和LVM
卸载
Linux系统的磁盘管理和LVM
如果发现卸载是设备正忙无法卸载
方法1
Linux系统的磁盘管理和LVM
方法2
Linux系统的磁盘管理和LVM
磁盘分区
硬盘0磁道1扇区的512个字节中记录的信息如下
512=446 + 64 + 2
mbr(主引导记录程序) mpt(主分区标) 55aa(硬盘的有效性标实)
硬盘分区标
64
1个分区占用16个字节
1块硬盘上最多可以划分4个主分区
fdisk -l ###查看分区
fdisk /dev/vdb ###创建分区
Linux系统的磁盘管理和LVM
m
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition ##删除
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types
m print this menu
n add a new partition ##新建
o create a new empty DOS partition table
p print the partition table ##显示分区信息
q quit without saving changes ##退出
s create a new empty Sun disklabel
t change a partition’s system id ##修改分区id
u change display/entry units
v verify the partition table
w write table to disk and exit ##保存分区标信息到硬盘
x extra functionality (experts only)
建立主分区
Linux系统的磁盘管理和LVM
Command (m for help): p ##显示信息
Linux系统的磁盘管理和LVM
wq保存
Linux系统的磁盘管理和LVM
当系统已经有三个主分区时

Linux系统的磁盘管理和LVM
此时只能再建立拓展分区

Linux系统的磁盘管理和LVM
把所有空间都给e
Linux系统的磁盘管理和LVM
给设备安装文件系统
mkfs.xfs /dev/vdb1 ##格式化
若在格式化时出现问题,看看是否建立的分区没能生效
用partprobe使它更新,或者重启电脑
Linux系统的磁盘管理和LVM
mount /dev/vdb1 /mnt 注:磁盘分区在格式化后才能使用
vim /etc/fstab
设备 挂载点 文件系统 挂载参数 是否备份 是否检测
/dev/vdb1 /mnt xfs defaults 0 0
Linux系统的磁盘管理和LVM
相当于,永久挂哉这个磁盘分区,用mount挂载的硬件,在重启后就失效了
mount -a **

先df查看挂载的设备,发现/dev/vdb2已经挂载(用mount命令挂载的),umount卸载掉,然后
Mount -a 来**设置的永久设定,再df查看
Linux系统的磁盘管理和LVM
swap分区管理
swap分区建立
划分分区并设定分区标签未82
Linux系统的磁盘管理和LVM
mkswap /dev/vdb6 ##格式化
Linux系统的磁盘管理和LVM
swapon -a /dev/vdb6
swapon -s
Linux系统的磁盘管理和LVM
永久性建立swap分区
vim /etc/fstab
/dev/vdb6 swap swap defaults 0 0
Linux系统的磁盘管理和LVM
swap分区删除
vim /etc/fstab
先将设置的永久性配置文件删掉
swapoff /dev/vdb6
swapon -s
Linux系统的磁盘管理和LVM
swap分区优先级设定
配额
配额是针对与分区的。
限制某个分区的大小
mount -o usrquota /dev/vdb7 /public 挂载分区
chmod 777 /public 要先挂载再给权限
quotaon -uv /dev/vdb7 加载这个服务,才能识别额度
Linux系统的磁盘管理和LVM
edquota -u studnet 让这个用户被限制,只改harf的值,是以K为单位

Linux系统的磁盘管理和LVM
vim /etc/fstab
/dev/vdb7 /public xfs defaults,usrquota 0 0
Linux系统的磁盘管理和LVM
[[email protected] ~]$ dd if=/dev/zero of=/public/studentfile bs=1M count=200

Linux系统的磁盘管理和LVM
我在设置了student最多可截取20M,虽然在操作时,我截取了200M,但显示出来且实际截取的皆为20M

磁盘加密
cryptsetup luksFormat /dev/vdb8
Linux系统的磁盘管理和LVM
blkid查看
Linux系统的磁盘管理和LVM
cryptsetup open /dev/vdb8 westos
mkfs.xfs /dev/mapper/westos
mount /dev/mapper/westos /mnt/
Linux系统的磁盘管理和LVM
touch /mnt/file{1…10}
umount /mnt/
cryptsetup close westos
Linux系统的磁盘管理和LVM
cryptsetup open /dev/vdb8 westos
mount /dev/mapper/westos /mnt/
加密磁盘开机自动挂载
vim /etc/fstab
/dev/mapper/westos /mnt xfs defaults 0 0
Linux系统的磁盘管理和LVM
因为磁盘经过加密,挂载时要输入密码,所以只做上面的操作是不够的
vim /etc/crypttab 解密文件
westos /dev/vdb2 /root/westoskey
Linux系统的磁盘管理和LVM
vim /root/westoskey 把之前设置的密码写进刚设置的目录
2019westos
Linux系统的磁盘管理和LVM
cryptsetup luksAddKey /dev/vdb8 /root/westoskey 开机读取

lvm
pv ##物理卷
被lv命令处理过的物理分区

vg ##物理卷组
被组装到一起的物理卷

pe ##物理扩展
lvm设备的最小存储单元lvm时pe的整数倍

lvm ##逻辑卷
直接使用的设备,可以增大缩减并保持原有数据不变
通俗易懂的来解释,好比现在有两个橘子(物理卷),为了将它变成一个想要多少拿多少,我们将它炸成橘子汁,将两个橘子的汁合到一块(物理卷组),橘子汁的最小单位就是pe,我们也可以来设定,默认为4M,我们需要多少就取多少(lv)
lvm建立
分区并时定分区标签未8e
Linux系统的磁盘管理和LVM
先做一个监视,时刻来观察每一步作完后的现象
Linux系统的磁盘管理和LVM
Linux系统的磁盘管理和LVM
pvcreate /dev/vdb1
vgcreate vg0 /dev/vdb1
lvcreate -L 20M -n lv0 vg0
Linux系统的磁盘管理和LVM
mkfs.xfs /dev/vg0/lv0
mount /dev/vg0/lv0 /mnt
df -H /mnt
Linux系统的磁盘管理和LVM
lvm的拉伸
lvm支持热拉伸
1.当vg中的剩余容量充足情况
lvextend -L 100M /dev/vg0/lv0 ##拉伸设备
Linux系统的磁盘管理和LVM
Linux系统的磁盘管理和LVM
xfs_growfs /dev/vg0/lv ##拉伸文件系统
Linux系统的磁盘管理和LVM
当vg中的容量不足时
再次建立分区并修改标签8e
Linux系统的磁盘管理和LVM
pvcreate /dev/vdb2
vgextend vg0 /dev/vdb2 ##拉伸物理卷组
Linux系统的磁盘管理和LVM
lvextend -L 300M /dev/vg0/lv0
xfs_growfs /dev/vg0/lv0
Linux系统的磁盘管理和LVM
针对ext文件系统的设备的拉伸和缩减
umount /data
mkfs.ext4 /dev/vg0/lv0
mount /dev/vg0/lv0 /data
Linux系统的磁盘管理和LVM
拉伸
lvextend -L 400M /dev/vg0/lv0
resize2fs /dev/vg0/lv0
Linux系统的磁盘管理和LVM
缩减
缩减lvm
umount /dev/vg0/lv0
e2fsck -f /dev/vg0/lv0
resize2fs /dev/vg0/lv0 100M
lvreduce -L 100M /dev/vg0/lv0
Linux系统的磁盘管理和LVM
mount /dev/vg0/lv0 /mnt
Linux系统的磁盘管理和LVM
移除空闲pv
vgreduce vg0 /dev/vdb2
Linux系统的磁盘管理和LVM
移除含有数据的设备
Linux系统的磁盘管理和LVM
pvmove /dev/vdb1 /dev/vdb2
vgreduce vg0 /dev/vdb1
pvremove /dev/vdb1
Linux系统的磁盘管理和LVM
Linux系统的磁盘管理和LVM
Linux系统的磁盘管理和LVM
lvm快照
在之前挂载的目录中建立文件,建完后卸载设备
Linux系统的磁盘管理和LVM
创建快照,挂载快照
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0-backup /data
Linux系统的磁盘管理和LVM
我们可以看到建立的文件
删除快照目录的所有文件
rm -fr /data/*
此时在查看/data挂载目录,文件当然不存在
卸载快照
umount /mnt
Linux系统的磁盘管理和LVM
lvremove /dev/vg0/lv0-backup
lvcreate -L 40M -n lv0-backup -s /dev/vg0/lv0
mount /dev/vg0/lv0-backup /mnt
删除快照,在生成一个新的快照,挂载
Linux系统的磁盘管理和LVM
再次生成的快照依然可以,照出母设备的文件,说明在快照的操作不会影响母设备
但应注意在快照下对挂载目录的操作量不能超过快照的大小,否则快照就不起作用了

lvm的删除
lvremove /dev/vg0/lv0-backup
lvremove /dev/vg0/lv0
vgremove vg0
pvremove /dev/vdb2