系统的记忆——磁盘管理

linux系统中的磁盘管理

本地存储设备的识别

fdisk -l ##真实存在的设备
在这里插入图片描述
cat /proc/partitions ##系统识别的设备
在这里插入图片描述
blkid ##系统可使用的设备
在这里插入图片描述
df ##系统正在挂载的设备
在这里插入图片描述

设备的挂载和卸载

设备名称

/dev/&d& ##例如sda,sdb,hd0,hd1,sda1,sda2
两个&第一个代表类型(s就是SATA串口硬盘,h就是老式的并口硬盘),第二个代表一个类型里的第几块,数字或者字母都是排序)
/dev/sr0 ##光驱
/dev/mapper/* ##虚拟设备

设备的挂载

mount 设备 挂载点
例子:mount /dev/sdb1 /test ##挂载sdb1到test
在这里插入图片描述
挂载之后就可以在指定目录里查看设备的内容了
umount /test(/dev/sdb1) ##卸载
在这里插入图片描述
卸载之后就看不到内容了
mount -o ro /dev/sdb1 /mnt ##只读挂载
在这里插入图片描述
只读挂载就不能对设备内容进行改变
mount ##查看挂载信息
在这里插入图片描述
mount -o remount,rw /dev/sdb1(/mnt) ##重新读写挂载
在这里插入图片描述
可以看到本来只读的文件挂载在重新读写挂载后又可以更改文件了

解决设备正忙的情况

有程序正在使用此设备
在这里插入图片描述
解决方法1
fuser -kvm /mnt
umount /mnt

解决方法2
lsof /mnt
找到这个正在占用设备的进程,然后干掉他
kill -9 id
umount /mnt

磁盘分区

磁盘的0磁道1扇区512个字节

512B=446(mbr:主引导记录)+64(mpt:主分区标)+2(磁盘的有效性标识:内容为55aa)
磁盘分区标
64B
其中一个分区占用16B,最多可以划分4个主分区

分区步骤

fdisk -l
在这里插入图片描述
fdisk /dev/vdb
m(m for help)
在这里插入图片描述
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)

建立主分区

Command (m for help): n ##新建
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
在这里插入图片描述
Select (default p): p ##主分区
在这里插入图片描述
Partition number (1-4, default 1): ##选择id(空白表示默认)
在这里插入图片描述
First sector (2048-20971519, default 2048): ##分区起始(空白表示默认)
Using default value 2048
在这里插入图片描述
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +500M ##分区大小
Partition 1 of type Linux and of size 500 MiB is set
在这里插入图片描述
Command (m for help): p ##显示信息

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x516c5253

Device Boot Start End Blocks Id System
/dev/vdb1 2048 1026047 512000 83 Linux
在这里插入图片描述
Command (m for help): wq ##退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

但系统已经有三个主分区时

我们的一个硬盘最多支持4个主分区,但是如果我们想要5个甚至更多的分区怎么办,这个时候就需要将最后一个分区的起始目录变成一个容器,来装多出来的分区的起始目录,我们把多出来的分区成为逻辑分区
划分逻辑分区的方法与上面基本一致
[root@localhost ~]# fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): e ##3个主分区出现要先划分扩展分区
在这里插入图片描述
Partition number (2-4, default 2): 4
在这里插入图片描述
First sector (1026048-20971519, default 1026048):
Using default value 1026048
Last sector, +sectors or +size{K,M,G} (1026048-20971519, default 20971519):
Using default value 20971519
Partition 4 of type Extended and of size 9.5 GiB is set

Command (m for help): p

Disk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x516c5253

Device Boot Start End Blocks Id System
/dev/vdb1 2048 1026047 512000 83 Linux
/dev/vdb4 1026048 20971519 9972736 5 Extended ##把所有空间都给E
在这里插入图片描述
Command (m for help): wq
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

给设备安装文件系统(格式化)

ext3 rhel5及之前的版本 最多支持32TB的文件系统和2TB文件 实际上是2TB文件系统,16GB文件
ext4 rhel6 最多支持1EB的文件系统和16TB文件
xfs rhel7 最多支持18EB的文件系统和9TB文件 读取速度最多7GB/s,实际上是4GB/s

mkfs.xfs /dev/vdb1 ##将设备格式化
在这里插入图片描述
mount /dev/vdb1 /mnt
这时分区已经可以使用了,但是这个分区在再次开机的时候会消失,如果希望能够永久保存这个分区,就需要在下面这个文件里加上这个新分区的信息
vim /etc/fstab
设备 挂载点 文件系统 挂载参数 是否备份 是否检测
在这里插入图片描述
mount -a
就可以看到已经可以使用了
在这里插入图片描述

swap分区管理

swap分区建立

划分分区并设定分区标签为82
在wq退出保存的时候会出现如下报错
在这里插入图片描述
对于这个报错,我们只需要在系统提示的三种方法中随便执行一个就行
在这里插入图片描述
mkswap /dev/vdb6
在这里插入图片描述
swapon -a /dev/vdb6 ##激活swap分区
swapon -s
在这里插入图片描述
同样,想要永久保存,需要更改下面这个文件
vim /etc/fstab
/dev/vdb6 swap swap defaults 0 0

swap分区删除

先把/etc/fstab中的信息删除
swapoff /dev/vdb6 ##关闭这个swap分区
swapon -s
在这里插入图片描述
这样我们就看不到这个swap分区了

配额

配额是针对与设备的,是限制某一个用户在某一个设备上所能存储的文件大小(数量)
首先我们要将挂载的设备激活配额功能
在这里插入图片描述
然后给挂载的目录加一个1777权限
在这里插入图片描述
这之后使用mount命令可以看到设备状态最后有一个usrquota
在这里插入图片描述
然后使用命令edquota -u student /dev/vdb1
在这里插入图片描述
这样就打开了配额的配置命令
在这里插入图片描述
从左至右分别是
filesystem(在哪个设备) blocks(该设备上用户已经有的文件大小,客观事实) soft(软限,文件大小超过时警告) hard(硬限,文件大小不能超过) inodes(该设备上用户已经有的文件数量,客观事实) soft(软限,文件数量超过时警告) hard(硬限,文件数量不能超过)
更改后保存退出,限额就设定好了

测试:我们截取一些数据放到这个文件中(bs是单位大小,count是单位数量)
在这里插入图片描述
可以看到并无报错,我们在来看看这个文件的大小
在这里插入图片描述
这时我们多截取一些数据
在这里插入图片描述
可以看到出现了报错,按照正常情况来说,我们截取的数据应该是500M,但是我们来看看这个文件的大小
在这里插入图片描述
可以看到是我们当时设定的硬限大小,说明不能超过这个硬限

磁盘加密

但我们需要让自己的设备更多一些隐私性的话,我们可以给设备加上一个锁(注意加密时会清空磁盘里原来的文件)
cryptsetup luksFormat /dev/vdb1(注意:要先把设备卸载)
在这里插入图片描述
cryptsetup open /dev/vdb1 &&& #将设备的锁打开,设备内容解密后放在&&&文件夹
在这里插入图片描述
mkfs.xfs /dev/mapper/westos #格式化(因为没有管理文件,第一次上锁后需要格式化来产生设备管理文件)
在这里插入图片描述
mount /dev/mapper/westos /mnt/ #挂载设备
touch /mnt/file{1…10} #执行一些命令,产生一些文件
umount /mnt/ #卸载
cryptsetup close westos #将锁锁上
在这里插入图片描述
这样我们的锁就设定好了,下次再次使用这个设备的时候,只需要开锁,挂载就能使用了(使用完之后要卸载,关锁)
cryptsetup open /dev/vdb1 westos
mount /dev/mapper/westos /mnt/

加密磁盘开机挂载

我们如果将磁盘加密,因为在挂载时需要输入密码,在开机时,电脑挂载设备时无法挂载出现报错
vim /etc/fstab
/dev/mapper/westos /mnt xfs defaults 0 0 #我们先将设备设置成开机挂载
在这里插入图片描述
vim /etc/crypttab #然后编辑这个文件,内容如下
westos /dev/vdb1 /root/westoskey(文件的名字根据需要更改)
在这里插入图片描述
vim /root/westoskey #然后在这个文件中写下密码
密码
在这里插入图片描述
最后执行这个命令,就成功了
cryptsetup luksAddKey /dev/vdb1 /root/westoskey
在这里插入图片描述
这样在系统启动时就会自动加载密码来解锁并挂载这个加密设备

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值