您的位置:首页 > 运维架构 > Linux

Linux系统中的磁盘管理(本地存储设备的识别,设备的挂载和卸载,硬盘分区,添加swap分区,配额,磁盘加密,LVM,LVM的快照,LVM设备的删除)

2019-08-01 19:43 621 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接:https://blog.csdn.net/monster_warm/article/details/97431457

1.本地存储设备的识别

fdisk -l                        ##真实存在的设备cat /proc/partitions   ##系统识别的设备blkid                          ##系统可使用的设备df                               ##系统正在挂载的设备

将u盘插入

fdisk -l                        ##真实存在的设备


cat /proc/partitions   ##系统识别的设备

blkid                          ##系统可使用的设备

df                               ##系统正在挂载的设备

2.设备的挂载和卸载

2.1设备名称

设备 相关解释
/dev/xdx /dev/hd0 /dev/hd1 dev/sda /dev/sdb /dev/sda1 /dev/sda2 /dev/sdb1
/dev/sr0 光驱
/dev/mapper/* 虚拟设备

2.2设备的挂载
mount 设备 挂载点

mount /dev/sdb1  /mnt                      ##挂载sdb1到mnt
umount /mnt/    /dev/sdb1                   ##卸载
mount -o ro /dev/sdb1      /mnt            ##只读挂载
mount                                      ##查看挂载信息
mount -o remount,rw /dev/sdb1 /mnt   ##重新读写挂载

操作:
1.使用fdisk -l 查看真实存在的设备
2.使用cat /proc/partitions
3.没有查看到,使用partprobe后,再次cat /proc/partitions 硬盘可识别
4. df 查看挂载状态
5. 将/dev/sdb/的挂载点 /run/home/kiosk/……换为/mnt/

umount /run/home/kiosk/……
mount /dev/sdb1
使用df查看是否成功


umount /mnt/

出现报错:/mnt:target is busy
解决设备正忙情况

解决方法1

fuser -kvm /mnt
umount /mnt


解决方法2

lsof /mnt
kill -9 pid
umount /mnt

再使用df查看是否卸载


3.硬盘分区

1.硬盘0磁道1扇区的512个字节中记录的信息如下

512=446   +     64    +   2

1.磁道+扇区:确定位置分区
2.关电源时:磁头回到默认磁道,零磁道
3.通电:磁盘转动,磁头读取信息
4.在默认磁道上,写程序:系统的主引导记录(磁盘的0磁道1扇区)最小是446byte
5.mbr==mast boot recorder 目的是引导磁头跳到指定的区域。
分区
三个主分区+扩展分区


格式化
临时挂载

mkfs.xfs   /dev/vdb1
mount /dev/vdb1   /mnt


永久挂载

vim /etc/fstab ##在设备中写入
/dev/vdb1    /mnt    xfs   defaults   0      0
设备          挂载点  文件系统 挂载参数 是否备份 是否检测



reboot之后

一般来说:不把/dev/vdb1 /dev/vdb2等挂载到同一个目录里,没有意义,不同的分区应该有不同的门
注意:如果在分区之后cat /proc/partitions不能查看到/dev/vdb2等
解决方式

partprobe     ##同步分区表
cat /proc/partitions   ##可查看到

4.swap分区的添加

1.操作步骤

swapon -s   ##检测系统里面有没有系统分区
没有swap分区,没有的话,fdisk /dev/vdb 建立第六个分区
t->更改ip操作等
partprobe


blkid
mkswap /dev/


5.配额

配额是针对于分区的,配额是为了在多个设备使用同一个硬盘时,能够实现资源的最大化利用。
操作步骤
1.若没有挂载则先挂载,挂载的目的是为了激活配额

mkfs.xfs   /dev/vdb1
mount -o usrquota /dev/vdb1 /mnt/
mount ##可以查看是否挂载完成


或者设定为开启自动挂载

vim /etc/fstab    ##在文件中写入以下内容
/dev/vdb1 /mnt xfs  defaults,usrquota  0  0

##使用mount命令,看最后一行看是否挂载上

2.给/mnt/满权限,如果不给权限的话,在切换到student用户配额的时候会出现无法读取到/mnt/studentfiles文件的报错。

chmod 777 /mnt/
edquota -u student ##打开文件中的磁盘分区文件


4.
测试

su - student
dd if=/dev/zero of=/mnt/studentfile bs=1M count=50   ##配额不能超过硬限的设定

6.磁盘加密

采用的加密方式是基于文件底层的加密:
优点:
由文件系统层和加密层组成;文件系统层的作用是实现软硬件对接,加密层的作用是文件通过文件系统层以后进入加密层后以加密的形式存储在硬盘中,读取的时候也需要通过加密层的解密才可以实现文件的读取。如果加密层被破坏,那么所在设备的数据也无法进行解密,自然也无法读取。
缺点
因为每个文件都需要经过文件系统的对接然后加密层的加密、解密等,所以会拖慢CPU的吞吐速度。
操作步骤
第一种方式:开始后经过人为设定进行加密
1.加密

cryptsetup luksFormat /dev/vdb6    ##当设备加密后无法进行挂载、读取等


2.解密

crypsetup open /dev/vdb6 westos ##westos为解密后设备的新名称
ls  /dev/mapper/    ##会出现解密设备的名称westos


3.挂载 可以先用df进行查看原来的设备是否已经挂载
如果原来没有挂载,直接挂载

mkfs.xfs  /dev/mappper/westos
mount /dev/mapper/westos /mnt/

4.往里面存东西

touch /mnt/file{1..5}


5.卸载

umount /mnt

6.关闭设备

cryptsetup close /dev/mapper/westos


测试
对/dev/mapper/westos 再次进行挂载会出现该设备不存在的报错

mount /dev/mapper/westos /mnt/

如果要再次往设备里存放文件,则要重复以上操作步骤
第二种方式:对设备设置开机时启动加密
操作步骤
1.设置开启自动挂载

vim /etc/fstab  ##开机启动挂载
/dev/mapper/westos /mnt xfs defaults 0 0


2.设置开机启动加密

vim /etc/crytsetup  ##提供解密名称,解密设备,解密信息的文件,在文件中写入
westos /dev/vdb6 /root/diskpass


3.写入解密密码,注意这时候解密文件和第二步中的解密文件名称要一致

vim /root/diskpass
写入解密密码  2019westos


处于安全性考虑,将文件权限设定为超级用户权限

chmod 600 /root/diskpass

4.将解密文件和设备相关联

cryptsetup luksAddKey /dev/vdb6 /root/diskpass


测试
1.重启虚拟机,如果重启成功,则操作正确
2.如果重启失败,则可能是挂载失败问题;解决的方法是在该界面上登陆,检查/etc/fstab 删除里面错误的语句,exit重新启动

7.LVM

相关定义

pv      ##物理卷
vg      ##被lv命令处理过的物理卷;被组装到一起的物理卷组
pe      ##lvm设备的最小存储单元
直接使用的设备,可以增大缩减,并保持原有数据不变

lvm的建立
操作步骤为了更加直观地看到实验的效果,可以开启一个shell进行监控
监控命令

watch -n 1 'pvs;echo ===;vgs;echo === ;lvs;echo === ;df -h /weixin/'

1.分区时定文曲标签为8e使系统识别为lvm
2.往物理分区中加入软件,创建物理卷

pvcreate /dev/vdb6

3.创建物理卷组

vgcreate vg0 /dev/vdb6

4.从vg0中取出200M创建lv

lvcreate -L 200M -n lv0 vg0
mkfs.xfs /dev/vg0/lv0    ##格式化
mount /dev/vg0/lv0 /weixin/

6.查看两个设备虽然名称不一样但是使同一个设备

ll /dev/mapper/vg0-lv0
ll /dev/vg0/lv0

lvm建立完成
lvm的拉伸和缩减
应用于实际企业中服务器所存储的客户信息超过服务器当前的容量,这时要考虑扩容,即拉伸,这样可以使得服务器再拉伸的时候也处于工作状态,不会影响用户的使用。
1.lvm的拉伸
1.当vg中的剩余容量充足的情况

lvextend -L 500M /dev/vg0/lv0    ##拉伸设备
xfs_grow /dev/vg0/lv                  ##拉伸文件系统

2.当vg中的容量不足时
在这种情况下,如果按照上面的方式直接拉伸设备和文件系统,出现vg0容量不足的报错。
eg:vg0的容量本身为1000M,而这时要让lv的拉伸到1500M

lvextend -L 1500M /dev/vg0/lv0    ##拉伸设备

就会出现以下报错:

解决方法
1.再次建立分区并修改标签为8e
2.重新创建物理卷、拉伸物理卷组,拉伸设备,拉伸文件系统

pvcreate /dev/vdb2              ##重新创建物理卷
vgextend vg0 /dev/vdb2          ##拉伸物理卷组
lvextend -L 1500M /dev/vg0/lv0  ##拉伸设备
xfs_grow /dev/vg0/lv            ##拉伸文件系统

3.测试

  lvextend -L 1500M /dev/vg0/lv0    ##拉伸设备没有报错即说明操作成功

针对于ext4文件系统的设备的拉伸和缩减
注意!只有格式为ext4的设备才可进行缩减,格式为xfs的设备不可以进行缩减。
1.先将设备进行格式化为ext4格式

umount /mnt     ##卸载
mkfs.ext4   /dev/vg0/lv0  ##格式化为ext4格式
mount /dev/vg0/lv0   /mnt      ##重新挂载

拉伸
1.当vg容量充足时

lvextend -L 1800M /dev/vg0/lv0   ##拉伸设备
resize2fs /dev/vg0/lv0     ##拉伸文件系统,注意和xfs拉伸文件系统时的命令的不同

2.当vg容量不足时,参照上述Xfs格式的解决方式
缩减 缩减lvm
操作步骤
1.

umount /dev/vg0/lv0   ##卸载
e2fsck -f /dev/vg0/lv0   ##扫描,避免缩减程度太大对设备中的数据造成破坏
resize2fs /dev/vg0/lv0    ##缩减文件系统
lvreduce  -L 500M /dev/vg0/lv0  ##缩减设备
mount /dev/vg0/lv0  /weixin      ##挂载

在缩减设备为500M时,一个硬盘就可以装得下的时候,我们考虑缩减vg0
1.移除空闲pv

vgreduce vg0 /dev/vdb2

2.移除含有数据的设备

pvmove /dev/vdb1 /dev/vdb2   ##将/dev/vdb1中的数据移动到/dev/vdb2 ,在移除设备时不要ctrl+c强制结束,会对数据产生影响
vgreduce vg0 /dev/vdb1  ##将/dev/vdb1 中的vg0移除
pvremove  /dev/vdb1      ##移除设备

## 8.LVM的快照

LVM快照的原理和虚拟机快照的原理和目的是一样的,对完好的LVM“照相”,生成一张照片“lv0backup”,在lv0backup上进行数据的删减后,重新对着完好的LVM"照相“,就能恢复,在”lv0backup“上进行修改,但是读取的还是母盘。
操作步骤
1.

在挂载状态下,在/weixin/下建立file{1..5}便于验证
umount  /weixin/            ##df查看
目录/weixin/中查看不到file{1..5}(已经卸载)
lvcreate -L 60M -n lv0backup -s /dev/vg0/lv0    ##创建一个/dev/vg0/lv0的快照设备lv0backup大小为60M,大小只要满足所需要修改和保护的数据的大小即可,不需要和原先设备大小一致
mount  /dev/vg0/lv0backup /weixin  ##挂载之前无需格式化

3.删除/weixin/file{1…5}文件

cd /weixin/
rm -fr /weixin/*
umount /weixin/   ##卸载
lvremove /dev/vg0/lvobackup ##移除当前的快照
lvcreate -L 60M -n lv0-backup -s /dev/vg0/lv0  ##重新”照一张“
mount /dev/vg0/lv0backup /weixin      ##挂载之前不需要格式化

5.测试

查看/weixin/下如果出现file{1..5}那么快照恢复数据成功

9.LVM设备的删除

操作步骤:
1.

umount /weixin/   ##卸载
lvremove  /dev/vg0/lv0backup   ##删除快照
lvremove /dev/vg0/lv0     ##删除设备
vgremove vg0
pvs            ##查看删除完成否

2.这一步的操作为选做,没有什么影响

fdisk /dev/vdb  ##进入删除设备
partprobe   ##同步分区表
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐