Linux下的磁盘管理

一.设备的管理

1、本地存储设备的识别

命令功能
fdisk -l查看本地真实存在的设备(包括可用以及不可用的)
cat /proc/partitons查看系统设别的设备(未识别不显示)
blkid查看系统可使用的设备(有的设备存在但不可使用)
df查看系统正在挂载的设备

在这里插入图片描述

2、设备如何挂载及卸载

(1)什么是挂载及卸载

挂载:

指由操作系统使一个存储设备(如硬盘、CD-ROM、共享资源等)上的计算机文件和目录可供用户通过计算机的文件系统访问的一个过程。

卸载:

从硬盘删除程序文件和文件夹以及从注册表删除相关数据的操作,释放原来占用的磁盘空间并使其软件不再存在于系统中或是从硬盘删除对应的设备驱动程序并删除和设备驱动有关的注册表信息,然后再从计算机物理设备移除设备(一般这里用户更新升级计算机的物理设备用,如果不用移除物理设备,多指更新设备驱动程序)。

(2)设备名称解读

命令功能
/dev/xdxx可被替代,例:/dev/hd0、/dev/sda、/dev/sdb2
/dev/sr0光驱
/dev/mapper/*虚拟设备

(3)挂载设备

命令功能
fdisk -l查看设备名称
mount 设备名 挂载点将该设备挂载到挂载点
mount /dev/sdb2 /mnt/abc将sdb2挂载到/mnt/abc
mount -o ro /dev/sdb2 /mnt/abc以只读的权限挂载sdb2到/mnt/abc(只可在没有挂载到该目录时使用,若已挂载则不能使用)
mount -o remount,ro /dev/sdb2或/mnt/abc重新挂载sdb2,权限改为只读
mount查看挂载的信息(可以看权限)
df查看是否挂载

在这里插入图片描述

(4)卸载设备

命令功能
umount /mnt/abc或mount /dev/sdb2将sdb2卸载
df查看是否卸载

(5)设备正忙时如何解决

命令功能
fuser -vm /mnt/abc或/dev/sdb2查看sdb2当前正在运行的进程
fuser -kvm /mnt/abc或/dev/sdb2退出当前sdb2正在运行的进程,使sdb2空闲
lsof /mnt/abc或/dev/sdb2查看sdb2当前正在运行的进程
kill -9 进程号用查出的进程号关闭进程使sdb2空闲
umount /mnt/abc或mount /dev/sdb2空闲后可将sdb2卸载

在这里插入图片描述

二.磁盘分区管理

1、磁盘读取设定

开机时读取默认磁道(0磁道),所以在默认开始读取的0磁道1扇区的512个字节中记录以下信息:
512=446+64+2
[1] [2] [3][4]

编号意义
[1]信息总大小指示了去读取设定好的系统磁盘
[2]mbr(主引导记录)指示去读设定好的分区
[3]mpt(主分区标)指示分区的位置
[4]55aa(硬盘的有效性标识)表示有效

2、磁盘分区原则

(1)分区标有64个字节,每个分区占16个字节,所以一块硬盘上最多可以划分4个主分区。
(2)若需求在4个分区以上,则可以将最后一个(最大化利用资源)分区划为扩展分区,在扩展分区内建立逻辑分区,则可划分4个以上分区。
(3)扩展分区被删除时,包含的逻辑分区也全部被删除,一个磁盘只能建立一个扩展分区。

3、分区步骤

(1)fdisk -l 查看现有磁盘名称

(2)fdisk /dev/vdb 使用命令给vdb磁盘进行分区管理

命令功能
m列出所有可选命令(m for help)
a toggle a bootable flag调整硬盘的启动分区
b edit bsd disklabel编辑bsd磁盘标签
c toggle the dos compatibility flag切换dos的兼容性标志
d delete a partition[常用]删除一个硬盘分区
g create a new empty GPT partition table建立一个新的空的GPT分区表
G create an IRIX(SGI) partition table建立一个IRIX(SGI)分区表
l list known partition types列出所有支持分区类型
m print this menu[常用]列出所有可选命令(m for help)
n add a new partition[常用]建立一个新的硬盘分区
o create a new empty DOS partition table建立一个新的空的DOS分区表
p print the partition table[常用]列出硬盘分区表
q quit without saving changes[常用]退出不保存更改
s create a new empty Sun disklabel建立一个新的空的Sun磁盘标签
t change a partition’s system id[常用]更改分区的类型
u change display/entry units切换所显示的分区大小的单位
v verify the partition table校验分区表
w write table to disk and exit[常用]把之前的设置写入硬盘分区标,然后退出(退出保存)
x extra functionality (experts only)额外的功能(仅专家使用)

在这里插入图片描述

4、给设备安装文件系统

(1)为什么需要安装文件系统

将软件与硬盘对接起来

(2)有哪些文件系统

命令功能
ext3 rhel5及之前的版本理论:最多支持32TB系统,和2t大的文件;实际:受实际硬件限制,只能支持2tb文件系统,16G大文件
ext4 rhel6理论:最多支持1EB系统,和16TB大的文件
xfs rhel7(现用版本)理论:最多支持18EB系统,和9eb大的文件,下载速度7G/S,上传速度4G/s

(3)给设备安装文件系统

命令功能
mkfs.xfs /dev/vdb1将该新建分区格式化,使其可以使用(扩展分区无法使用)
mount /dev/vdb1 /mnt临时将vdb1挂载到/mnt下,系统重启后将消失
vim /etc/fstab修改自动挂载策略文件,永久挂载vdb1
/dev/vdb1(设备名) /mnt(挂载点) xfs(文件系统) defaults(挂载参数) 0(是否备份) 0(是否检测)添加完成后,退出保存
umount /dev/vdb1卸载vdb1
df查看是否卸载
mount -a重新读取策略文件
df查看是否自动挂载

在这里插入图片描述

5、swap分区的管理

(1)建立swap分区

命令功能
fdisk /dev/vdb建立新的分区vdb6,并将标签设定为82(按t更改)
partprobe手动更新磁盘分区表
mkswap /dev/vdb6将该分区格式化并该为swap格式
swapon /dev/vdb6激活swap分区(临时)
swapon -s查看swap分区信息
vim /etc/fstab修改/etc/fstab文件
/dev/vdb6 swap swap defaults 0 0永久激活swap分区

(2)删除swap分区

命令功能
vim /etc/fstab修改/etc/fstab文件
/dev/vdb6 swap swap defaults 0 0删除该行,防止重启后swap分区自动激活
swapoff /dev/vdb6停止swap分区
swapon -s查看swap分区信息
附:
命令功能
swapon -a自动启动所有swap装置(读取/etc/fstab文件)
swapon -a 设备名临时激活swap分区
swapoff -a自动停止所有swap装置(读取/etc/fstab文件)
swapoff -a 设备名临时停止swap分区

在这里插入图片描述在这里插入图片描述

6、配额

针对分区进行配额,限制每个用户可以写入公共目录的最大内存容量的数据

(1)如何给student配额

命令功能
mount -o usrquota /dev/vdb1 /public临时挂载该分区到公共目录,设定挂载时的服务权限,添加usrquota
mount查看usrquota是否加入
chmod 1777 /public修改该目录权限,使目录有应有的功能
edquota -u student /dev/vdb1修改该文件,对student用户的配额进行设定
vim /etc/fstab修改该文件永久设定
/dev/vdb1 /public xfs defaults,usrquota 0 0将usrquota永久设定

(2)测试

命令功能
su - student登陆到student用户进行操作
dd if=/dev/zero of=/public/studentfile bs=1M count=5加入合理大小
dd if=/dev/zero of=/public/studentfile bs=1M count=200加入超过配额的大小,看是否成功,失败则配额成功

(3)如何取消student配额

命令功能
vim /etc/fstab修改该文件,将usrquota删除,否则重启后会自动激活服务
quotaoff /dev/vdb1关闭vdb1的配额服务

(4)测试

命令功能
su - student登陆到student用户进行操作
dd if=/dev/zero of=/public/studentfile bs=1M count=200加入超过配额的大小,看是否成功,成功则取消配额成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019102820360782.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzIzODE5NA==,size_16,color_FFFFFF,t_70)

(5)有关dd命令的解释

参数意义
if=文件名inputfile输入文件名,缺省为标准输入,即指定源文件
of=文件名outputfile输出文件名,缺省为标准输出,即指定目的文件
ibs=bytes一次读入bytes个字节,即指定一个块,大小为bytes个字节
obs=bytes一次输出bytes个字节,即指定一个块,大小为bytes个字节
bs=bytes同时设置读入/读出的块,大小为bytes个字节
cbs=bytes一次转换bytes个字节,即指定转换缓冲区大小
skip=blocks从输入文件开头跳过blocks个块后再开始复制
seek=blocks从输出文件开头跳过blocks个块后再开始复制(通常只有当输出文件使磁盘或者磁带时才有效)
cout=blocks仅拷贝blocks个块,块大小=ibs或bs指定的字节数
conv=conversion用指定的参数转换文件

7、给磁盘进行加密

命令功能
cryptsetup luksFormat /dev/vdb3加密vdb3设备,策略为LUKS
cryptsetup open /dev/vdb3 name解密vdb3设备,名为name
ls /dev/mapper解密后在此目录显示,查看该目录是否有
mkfs.xfs /dev/mapper/name格式化该解密后设备,使设备可以使用
mount /dev/mapper/name /dir挂载该设备至/dir目录
df查看挂载是否成功
touch /dir/file{1…5}建立文件测试
ls /dir查看目录中是否有文件,此时应有
umount /dir卸载设备
ls /dir查看目录中是否有文件,此时应无
cryptsetup close name加密名为name的vdb3设备,加密后想要查看设备中的文件时,需解密挂载再查看,解密需要输入密码,做到给设备加密

在这里插入图片描述

8、使加密磁盘开机自动挂载

(1)设定

命令功能
vim /etc/crypttab修改该文件
name(解密产生的文件名) /dev/vdb3(加密的设备) /root/dirkey(存放解密密码的文件)修改完成后退出保存
vim /root/dirkey修改存放解密密码的文件
2019WESTOS输入之前设置的密码(个人设置)
cryptsetup luksAddKey /dev/vdb3 /root/dirkey用该策略将密码文件与加密设备对应,开机时自动输入
vim /etc/fstab修改该文件
/dev/mapper/name /dir xfs defaults 0 0永久挂载该设备至/dir目录,则开机自动挂载
chmod 600 /root/dirkey设置密码文件的权限,使文件安全等级更高

(2)测试

命令功能
reboot设置完成后重启虚拟机
df启动虚拟机后,查看是否挂载

(3)如何排错

命令功能
vim /etc/fstab查看是否正确
vim /etc/crypttab查看是否正确
vim /etc/dirkey查看是否正确,若密码匹配不正确,可通过以下命令重新设定密码匹配
cryptsetup luksRemoveKey /dev/vdb3 /root/dirkey移除密码匹配关系
cryptsetup luksAddKey /dev/vdb3 /root/dirkey重新设定密码匹配

在这里插入图片描述

9、如何删除磁盘分区

命令功能
vim /etc/fstab删除设定的所有内容
df查看现在挂载的设备
umount /dev/vdb?卸载现在挂载着的所有设备
swapon -s查看是否有swap设备挂载
blkid查看所有可使用的设备,若有解密中的设备则取消解密
cryptsetup close name加密名为name的vdb3设备
blkid查看是否还能看到加密设备,应为否
fdisk /dev/vdb执行后输入d和序号删除所有分区,w退出保存即可
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值