linux系统中的磁盘管理

1.为什么要进行磁盘管理?
磁盘管理是一项计算机使用时的常规任务,它是以一组磁盘管理应用程序的形式提供给用户的
它们位于"计算机管理"控制台中.它包括查错程序和磁盘碎片整理程序以及磁盘整理程序

2.本地存储设备的识别

fdisk -l查看系统真实存在的设备
cat /proc/partition查看被系统已经识别的设备
blkid查看系统可以使用的设备
df查看系统正在挂载使用的设备


实验环境:在真机里面查看本地存储设备(因为牵扯到u盘)

(1)fdisk -l ##查看系统真实存在的设备


(2)cat /proc/partition    ##查看被系统已经识别的设备

(3)blkid    ##查看系统可以使用的设备

(4)df    ##查看系统正在挂载使用的设备

查看系统真实存在的硬盘设备,看到的不一定是系统识别的 
存在的,不一定是识别的
识别的,不一定是使用的
使用的,不一定是正在用的
这三个都不一样,均用不同的命令去查看
系统真实存在的不一定能被识别,能识别的不一定能被用,能用的不一定是正在用

3.设备的挂载和卸载
(1).设备名称

/dev/xdx     包括:/dev/hd0;/dev/hd1; /dev/sda; /dev/sdb; /dev/sda1; /dev/sda2; /dev/sdb1
/dev/sr0    光驱 包括: /dev/cdrom
/dev/mapper/*虚拟设备

(2).设备的挂载

mount  设备目录    挂载点目录:将一个东西挂载到另外一个地方,使它生效
umount   /dev/sdb1            ##卸载这个东西
mount  /dev/sdb1     /westos    ##挂载sdb1到westos

mount -o ro /dev/sdb1 /mnt        ##只读挂载

mount                     ##查看挂载信息,只读还是可以读写

mount -o remount,rw /dev/sdb1 | /mnt    ##重新读写挂载

(3).解决设备正忙情况(比如u盘里面的东西打开正在用)

[root@foundation0 ~]# umount  /dev/sdb1 (u盘的设备名称 /dev/sdb1)
umount: /dev/sdb1: target is busy.            ##有程序在使用此设备
卸载u盘设备的时候提示该设备正在忙,不能卸载

解决方法1

fuser -kvm /dev/sdb1(查看使用并且强制解决使用)
umount  /dev/sdb1(此时就可以直接卸载了)


解决方法2

lsof /dev/sdb1(查看使用情况)
kill -9 4934
umount /dev/sdb1


当设备正在忙时怎么解决?总结

插上u盘,df查看挂载情况
cd 进入u盘挂载目录,打开一个文件或者进入一个目录
重新打开一个shell执行如下操作:
umount /dev/sdb1 发现不能卸载,发现正在忙
fuser -vm /dev/sdb1 查看进程
lsof /dev/sdb1 查看进程
以上两种情况查看出来进程id之后,可以使用kill -9 id号码结束进程
fuser -kvm /dev/sdb1 查看并且结束
umount /dev/sdb1 此时发现就可以卸载了

4.磁盘分区的基础知识
有两种分区方式:mbr(以前电脑) gpt(现在电脑)
硬盘 0磁道 1扇区的 512个字节中记录的信息如下
512=446 字节    +         64 字节      +    2 字节
             ^                           ^                      ^    
   mbr(主引导记录)      mpt(主分区标)       55aa(硬盘的有效性标实)

dos或者mbr方式分区的分区表如下:主分区+扩展分区(扩展分区里面的分区块叫逻辑分区)不能超过16个(id=0~16)
dos(mbr)单个分区大小不能超过2t
1个分区占用16个字节
1块硬盘上最多可以划分4个主分区


5.给硬盘进行分区的具体步骤如下:
实验环境:开启一个新的虚拟机server


(1).fdisk -l 查看可以进行分区的硬件设备

(2)fdisk /dev/vdb 进入它的分区界面

按下m:查看各个参数的功能(知道常用的即可)

(3)建立主分区

(4)再次按下n继续进行分区


(5)当系统已经有三个主分区时,现在需要划分扩展分区


(6)此时再利用fdisk -l就可以看到/dev/sdb已经分区好

注意:

再次进入分区界面建立的就是逻辑分区了
主分区个数+扩展分区个数+逻辑分区个数不能超过16个

6.给分区设备安装文件系统
主分区和扩展分区格式化之后才能用
先格式化再挂载,df才能查看得到

有以下三种文件系统类型:
ext3    rhel5及之前的版本    最多支持32TB的文件系统和2t文件,实际2tb文件系统,16G文件
ext4    rhel6            1EB        16TB
xfs    rhel7            18EB        9eb             7G/s    4G/s

步骤一:df查看挂载状态

步骤二:mkfs.xfs    /dev/vdb1格式化这个分区

步骤三:mount /dev/vdb1    /mnt将这个分区挂载在一个目录上才能生效,df查看挂载状态

注意:以上是临时的生效方式

步骤四:umount /mnt取消这个临时挂载,df查看挂载状态

步骤五:设置永久挂载


步骤六:mount -a(挂载),df查看挂载状态

注意:如果文件写的有问题,系统起不来的时候怎么办?

进入文字界面,给一个root密码,然后进入shell
vim /etc/fstab (将文件改成正确的格式)
exit退出
如果还不行,在真机里面打开shell poweroff虚拟机,再start就好了

7.swap分区管理
(1)什么是swap分区?

swap分区建立是当内存不够用时用这个分区
(2)swap分区的建立

先在划分分区再设定分区标签为82(在划分分区的时候按下t设置标签为82)

步骤一:先划分一个分区(必须有分区存在,之前的步骤)

步骤二:将刚才划分的主分区该为swap分区

步骤三:将刚才建立的swap分区格式化才能生效

mkswap    /dev/vdb1

步骤四:swapon    -a /dev/vdb1 激活swap分区    ;swapon -s 查看swap分区

注意:以上设置是临时的,在配置文件里面写才是永久的

步骤五:设置永久的swap分区

vim /etc/fstab,写入以下内容:
/dev/vdb1  swap(类型) swap(用途) defaults    0 0

设置优先级有两种方法:
临时:swapon -a /dev/vdb1 -p 5
永久:vim /etc/fstab 
/dev/vdb1 swap swap defaults,pri=5 0 0


(3)swap分区的删除
步骤一:vim /etc/fstab,删除这个文件里面的东西


步骤二:swapoff    /dev/vdb1,swapon -s 此时再查看就没有了


8.配额(每个分区设备的容量有限制才比较公平)
配额是针对分区的
限制某个用户使用的分区大小
设定一个额度
步骤一:建立一个挂载目录

步骤二:建立一个主分区/dev/vdb2

步骤三:mount -o usrquota /dev/vdb2 /public 挂载分区

步骤四:chmod 777 /public 先挂载再给权限(否则权限会变小)


如果先给权限,然后挂载在/public这个目录上面,/public这个目录的权限会随被挂载的内容的权限变小
给student用户满权限,student用户才能在主分区上面截取分区自己使用
步骤五:quotaon -uv /dev/vdb2 加载这个服务才会识别额度

步骤六:edquota -u studnet 让这个用户有这个限制(这里面的东西不用改,改了也没有用,只改hard容量,单位是k)
1024k=1M 10240k=10M 102400k=100M 20480k=20M

以上是临时设置
步骤七:以下是永久设置

vim /etc/fstab
/dev/vdb1   /public  xfs      defaults,usrquota     0     0
如果设置临时的话reboot之后,所有的都要重新设置,还要挂载
如果永久设置的话reboot之后,只需要重新挂载就能使用
df -H 所有已经挂载的使用情况
du -sh /westos


步骤八:测试:切换到普通用户下面执行

[student@dns-server ~]$ dd if=/dev/zero of=/public/studentfile bs=1M count=200(超过额度就会报错)
当student用户截取分区的时候如果超过管理员设置的分区额度就会报错

9.磁盘加密——基于文件系统底层的加密方式(别人就看不到我的东西了)
步骤一:先不能挂载,df查看,如果挂载的话就umount

步骤二:cryptsetup luksFormat /dev/vdb2 给自己的硬盘设备加密,设置一个有强度的密码

步骤三:blkid 查看可以系统的设备

步骤四:cryptsetup open /dev/vdb2 westos 开放这个设备,打开盖子,盖子名字随便写 ,输入YES

步骤五:ll /dev/mapper/westos 这是一个虚拟的设备

步骤六:mkfs.xfs /dev/mapper/westos 格式化这个虚拟的设备

步骤七:mount /dev/mapper/westos /mnt/ 挂载这个设备(加密之后挂载就需要密码)


步骤八:touch /mnt/file{1…10} 在这个设备里面建立文件

步骤九:umount /mnt/ 不想看了就直接卸载(卸载之后就可以重新加密设置别的密码了,但是直接改密码会破坏原来的加密文件)

步骤十:cryptsetup close westos 关闭盖子


再挂载,挂载的时候需要密码,挂载上了进去就可以随意操作
cryptsetup open /dev/vdb8 westos
mount /dev/mapper/westos  /mnt/
这个和超级用户 普通用户没关系


10.使已经加密的磁盘在挂载的时候不再需要密码——加密设备的自动挂载
当存储设备是加密设备时,系统启动是不能自动挂载的
因为没有人为它输入密码,因此我们要使加密设备自动挂载,使加密设备开机挂载就能用

步骤一:vim /etc/fstab(挂载策略)

/dev/mapper/westos    /mnt    xfs    defaults    0 0


步骤二:vim /etc/crypttab(解密文件)

westos    /dev/vdb8    /root/westoskey


步骤三:vim /root/westoskey

2018westos(密码)
chmod 600 /root/diskpassword

步骤四:cryptsetup luksAddKey /dev/vdb8 /root/westoskey(使它开机的时候读取上面的文件,进行自动挂载)

步骤五:设置完之后,reboot,然后df查看是否自动挂载


如果上述三个文件有一个写的不对,系统reboot之后就会起不来
此时就需要给一个root密码,一一查看核对上述文件

11.删除加密设备的自动挂载
步骤一:vim /etc/fstab 删除改文件里面的东西


步骤二:vim /etc/crypttab 删除该文件里面的东西


步骤三:cryptsetup luksRemoveKey /dev/vdb1 /root/diskpassword

步骤四:彻底删除加密设备(只删设备,设备里面的文件会被破坏,因为没有办法进行解密)

umount /westos/先卸载

cryptsetup close westos

mkfs.xfs /dev/vdb1 -f 强制格式化
也可以fdisk /dev/vdb1 直接d删除所有的


partprobe 初始化分区设备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值