linux系统中的磁盘分区

linux系统中的磁盘分区
一.本地存储设备的识别
--fdisk -l              ##真实存在的设备


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


--blkid                 ##系统可使用的设备


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


二.设备的挂载和卸载
1.设备名称
如:/dev/xdx
/dev/hd0  /dev/hd1  /dev/sda  /dev/sbd  /dev/sda /dev/sdb /dev/sda1 /dev/sda1 ....
/dev/sr0        ##光驱
/dev/mapper/*   ##虚拟设备
2.mount 设备  挂载的目录
dev/sdb1是U盘,由于U盘只在真机上显示,所以,此实验在真机上进行,首先,先卸载u盘,确保下列实验正常执行
--df


--umount /dev/sdb1
--df

实验:
先创建一个hetoto目录
--mkdir /hetoto


--mount /sev/sdb1 /hetoto      ##将sdb1挂载到hetoto


--cd /hetoto                   ##可以查看u盘的内容


文件中,显示的文件全是问号的原因是因为文件名中包含有中文字符,编码错误所以显示为问号:
--mount                        ##用mount查看挂载信息
“注意”:上图中,u盘设备sdb1是读写挂载,所以我们可以在对u盘进行读写,若此时是只读挂载,我们是不能在u盘中写入文件的。在读写挂载的情况下,可以删除u盘中的文件/目录,也可以新建文件/目录。


如何改成只读挂载呢?
执行下列命令:
--umount /hetoto   或者/dev/sdb1   ##卸载


--mount -o ro /dev/sdb1 /hetoto  ##只读挂载
--mount    ##查看挂载信息

注:此时是只读挂载,我们是不能在u盘中写入文件的。

在不用卸载的情况下,也可重新设置成读写挂载
--mount -o remount,rw /dev/sdb1  或者/hetoto   ##重新读写挂载


--mount  ##查看挂载信息

3. 解决设备正忙情况(u盘设备正忙,是因为在别的终端打开了u盘,或对u盘执行了某些操作,比如进入u盘)
打开另一个终端,执行umount /hetoto,提示设备正忙


有以下两种方法
方法1:
--fuser -kvm /hetoto
--umount /hetoto

方法2:
--lsof /hetoto
--kill -9  29433(PID)
--umount /hetoto

三.建立分区
分区包含两部分:主分区,扩展分区,逻辑分区在扩展分区里面
此实验在server虚拟机操作:
1.
fdisk -l :查看


fdisk  /dev/vdb  ##创建分区


输入m可以查看参数类型

2.
n   :  新建
p   : 主分区
    : 分区开始

默认值   ##回车
默认值  ##回车
+100M  : 分区大小
p    : 显示信息
wq :退出保存

 

3.划分完成后,可以查看当前系统可以时别的分区:
--cat /proc/partitions


--blkid    ##此时在系统的可用设备中,不显示/dev/vdb1

4.对新分区添加文件系统
此时/dev/sdb1并不可用,这是因为没有给新划分的分区添加文件系统,当前可以使用的文件系统有:ext4、ext2、vfat、xfs,相比较二言,xfs的性能稳定,扩展性强,并且文件传输速率高,是目前的主流文件系统,因此,选择给新分区添加文件系统类型为xfs:
--mkfs.xfs   /dev/vdb1   :  格式化或者叫添加文件系统


--blkid    ##此时在系统的可用设备中,显示/dev/vdb1


此时可以将vdb1挂载到/mnt目录下:
--mount /dev/vdb1  /mnt  :  挂载
--df       ##查看挂载信息,此时,/dev/vdb1可用,且挂载在/mnt目录下

四.设置三个主分区,一个扩展分区
1.设置三个主分区后,要先划分扩展分区
此时,再新建分区2,3,4;对分区4选择扩展分区
由于2,3分区为主分区,添加步骤与上诉方法相同,因此以下展示分区4(扩展分区)的添加:

把所有的空间都给扩展分区
n   :  新建
p   : 主分区
    : 分区开始  
       ##回车
默认值  ##回车
    : 分区大小不设置代表剩下的空间都给扩展分区
wq  :退出保存


在添加完成后,会出现如下警告,意思是需要重启或者同步分区表才可以使配置生效

2.同步分区表可以使配置生效
--cat /proc/partitions  :  查看挂载设备看不见


--partprobe: 手动同步分区表,这样就把分区表同步了
--cat /proc/partitions  :这样就可以看到新建的分区

3.添加逻辑分区
n   :  新建
    ##添加逻辑分区5
    ##默认值,回车
+100M   ##逻辑分区分配100M
wq  :退出保存

4.然后把所有的分区格式化,之后,才可以挂载!
设备在进行挂载时可以让一个设备挂载到一个目录下,也可以使一个设备挂载到多个目录,但是不能使多个设备挂载到一个目录
--mkdir /mnt{1..4}  ##创建挂载目录
--mkfs.xfs   /dev/vdb1   :  此分区在上一步已经格式化了
--mkfs.xfs   /dev/vdb2   :  格式化或者叫添加文件系统


--mkfs.xfs   /dev/vdb3   :  格式化或者叫添加文件系统


--/dev/vdb4 是不用格式化的,形象的说,扩展分区只是一个壳,壳是不需要格式化的,里面的逻辑分区是内容,才需要格式化
--mkfs.xfs   /dev/vdb5   :  格式化或者叫添加文件系统

在格式化逻辑分区时,需要先partprobe: 手动同步分区表,这样就把分区表同步了之后,逻辑分区可以格式化,否则,出现如下报错:


--mount /dev/vdb5 /mnt1   ##挂载分区,其他分区依次执行

5.开机自动挂载策略文件
挂载:之前的mount挂载,重启后就会失效,可以在脚本中编写,永久挂载

--vim  /etc/fstab :编写


 添加: 设备           挂载点   文件    系统类型     挂载参数    是否备份 是否检测
                                /dev/vdb1 /mnt         xfs              defaults       0               0


--mount -a :让脚本文件生效


注意:不同的分区要挂载到不同的目录下

五. swap 分区(在扩展分区中)
1.新建一个swap分区


l     ##显示可以更改的标签名


t    ##改标签


6   ##分区编号
将标签改为82:82为swap分区的标签


wq  ##退出保存

--partprobe: 手动同步分区表


--mkswap /dev/vdb6  格式化


--临时挂载:swapon -a /dev/vdb6
--swapon -s  :  查看swap分区是否挂载成功

2.永久挂载,开机不丢失  :
--vim /etc/fstab     ##永久添加swap分区


添加/dev/vdb6       swap    swap    defaults        0       0

swapon -a  : 查看文件是否挂载成功,没有报错就是挂载成功

可靠的检测是否挂载成功:
swapoff /dev/vdb6  ##关掉swapon分区
swapon -s  :   ##此时没有任何内容
swapon -a  :   ##让挂载文件重新有效
swapon -s  :   ##查看swap分区是否挂载成功

3.删除swap分区
--先进入vim /etc/fstab  


把挂载swap分区的命令删除


--swapoff /dev/vdb5  关掉swapon分区
--swapon -s  :   查看swap分区是否关闭成功,没有任何内容,表示关闭成功

--fdisk /dev/vdb ##删除分区(必须先关闭设备,再删除分区),命令d,再输入删除的分区号6


--partprobe      ##手动同步分区表


--cat /proc/partitions  ##查看分区信息,vdb6的分区信息被删除

 


六.配额 :分配额度  (针对于设备)
配额是针对设备的容量限制,用户只有在指定设备上被限制使用存储空间的容量
1.新建目录
--mkdir /pub
--cd /
--ls


2.挂载设备,将目录设置为满权限再卸载:
注:一定要先挂载再修改权限
--mount /dev/vdb5 /pub/
--chmod 777 /pub/


--umount /pub/ ##这一步主要是更改pub目录的权限,卸载是为了下一步开启配额做准备,不然显示已经挂载!


3.对设备开启限额
--mount -o usrquota /dev/vdb5  /pub ##对设备开启限额
--mount  ##查看挂载信息


4.查看限额是否开启
--quotaon /dev/vdb5  ##查看限额是否开启


5.对用户配额
--edquota -u student   ##给student用户设置配额


6.永久挂载
--vim /etc/fstab  设置永久生效文件

测试:
在student用户下进行实验
--su - student
--cd /pub/
截取15M数据,对于用户student来说可以存储:
--dd if=/dev/zero of=/pub/files bs=1M count=15
--du -sh files  ##查看files文件大小


但是student想储存22M的数据,就会提示超出配额,实际储存为20M:
--dd if=/dev/zero of=/pub/files bs=1M count=22
--du -sh files  ##查看files文件大小

七,磁盘的加密

一,.磁盘的加密
先添加文件系统,再添加加密系统,加密系统被破坏,可以反加密,解密文件,此加密方法不牢靠

先添加加密系统,再添加文件系统,加密系统被破坏,磁盘不能在被访问,luks加密。

cryptsetup --help  ##查看此命令的用法及其格式

1,格式化(加密)
--cryptsetup luksFormat /dev/vdb1
此处输入的命令是大写的YES,提示输入的yes在这里输入没有用,这是一个BUG
--输入小写

--输入大写
输入密码:1995westos
再次确认密码:1995westos

此时,挂载,提示此分区被加密
--mount /dev/vdb1 /mnt
mount: unknown filesystem type 'crypto_LUKS

'

如果想要挂载,需要解密

2,解密
--cryptsetup open /dev/vdb1 westos  ##,此时需要输入密码,将加密的设备/dev/vdb1打开,并新命名一个设备名,此时的westos为虚拟设备


--ll /dev/mapper                    ##查看虚拟设备


--mkfs.xfs /dev/mapper/westos       ##将设备格式化


--mount /dev/mapper/westos /mnt     ##将设备挂载到/mnt目录下


--touch /mnt/file{1..10}            ##此时可以在/mnt目录下创建文件
--ls /mnt/                          ##此时可以看见创建的文件


--umount /mnt                       ##卸载/mnt目录


注:卸载之后,在任意机器上,还是可以挂载设备,读取里面的文件,如果不想其他机器挂载此设备,需要进行关闭解密!

举例:
在加密磁盘挂载点/mnt目录下编辑文件
--vim file  ##编辑helloworld
--dd if=/dev/vdb1 of=/mnt/file bs=1M count=1  ##截取数据


--hexdump -C /mnt/file                        ##查看截取的数据,乱码代表文件被加密


非加密磁盘挂载点/pub目录下编辑文件
--vim file  ##编辑helloworld
--dd if=/dev/vdb1 of=/mnt/file bs=1M count=1  ##截取数据


--hexdump -C /mnt/file                        ##查看截取的数据,显示helloworld

3,关闭解密
此步骤之前,必须先卸载umount /mnt,否则,执行关闭解密命令提示设备忙


--cryptsetup close westos           ##关闭此设备的解密,用刚才新命名的名字,此时,不能再随意挂载


举例:
[root@localhost pub]# mount /dev/vdb1 /mnt
mount: unknown filesystem type 'crypto_LUKS

'

此时,想在挂载设备,查看文件,再执行解密
--cryptsetup open /dev/vdb1 westos  ##将加密的设备/dev/vdb1打开,并新命名一个设备名


--mount /dev/mapper/westos /mnt     ##将设备挂载到/mnt目录下


--df
--ls /mnt
此时可以查看设备内容

二,加密设备如何开机自启
--vim /etc/fstab  ##添加开机自动挂载,将虚拟设备disk(此前不存在)挂载到/iso目录下


添加:/dev/mapper/disk /iso xfs defaults 0 0

--vim /etc/crypttab  ##生成虚拟设备,但是此时的密码文件/root/vdb1pass没有,所以需要创建


添加:disk     /dev/vdb1   /root/vdb1pass  
  虚拟设备名     真实设备      真实设备密码

--vim /root/vdb1pass


添加:1995westos  ##添加最开始设置的vdb1的密码

-- chmod 600 /root/vdb1pass  ##为了root用户权限最大,因为时密码文件,所以要root权限最大

-- cryptsetup luksAddKey /dev/vdb1 /root/vdb1pass  ##使得虚拟设备和密码产生关联

--reboot
--df              ##查看是否自动挂载成功

三,删除自动挂载以及加密
1,删除自动挂载
--vim /etc/fstab  ##添加开机自动挂载


删除:/dev/mapper/disk /iso xfs defaults 0 0


--vim /etc/crypttab


删除:disk     /dev/vdb1   /root/vdb1pass


--umount /iso     ##卸载
--df


2,卸载
-- cryptsetup close disk  ##关闭虚拟设备disk
--mkfs.xfs /dev/vdb1 -f  ##强行删除解密,不加-f删除不了加密

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值