系统中的磁盘管理
一、本地存储设备的识别
fdisk -l ##查看系统中真实存在的设备
cat /proc/partitions ##查看系统中被系统识别的设备
blkid ##查看系统可使用的设备(可看设备的id信息和设备类型,在里面出现的设备可被挂载)
df ##查看系统正在挂载的设备
二、设备的挂载和卸载
1、设备名称
/dev/xdx /dev/hd0 /dev/hd1 /dev/sda /dev/sbd
/dev/sr0 光驱
/dev/mapper/* 虚拟设备
示例:/dev/vdb ##表示虚拟机硬盘的第二块硬盘
/dev/vdb5 ##表示虚拟机硬盘中第二块硬盘的第五块分区
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 ##重新读写挂载
3、解决设备正忙情况
umount /mnt/
umount: /mnt: target is busy 有程序正在使用此设备
(In some cases useful info about processes that
the device isfound bylsof(8) or fuser(1))
解决方法一:
fuser -kvm /mnt
umount /mnt
解决方法二:
lsof /mnt
lsof: WARNING: can't stat()fuse.gvfsd-fuse file system /run/user/1000/gvfs
Output information may be incomplete.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 27446 root cwd DIR 8,17 4096 2 /mnt
kill -9 27446
umount /mnt
三、磁盘分区
1.硬盘0此道1扇区的512个字节记录的信息如下
512 =446 + 64 + 2
^ ^ ^
mbr(主引导记录) mpt(主分区标) 55aa(硬盘的有效性标识)
1)mbr主引导记录446个字节
2)mpt主分区表64个字节
3)硬盘的有效标识“55aa”2个字节
4)一个主分区占用16个字节记录分区信息
5)一块硬盘上如果是mbr的分区方式最多可以存放4个分区
2.分区步骤
1)fdisk -l
2)fdisk /dev/vdb
Command (m for help): m
Command action
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.
p查看建立的第一个分区
Command (m for help): n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): e ##2个主分区出现要先划分扩展分区
Selected partition 4
First sector (3074048-20971519, default 3074048):
Using default value 3074048
Last sector, +sectors or +size{K,M,G} (3074048-20971519, default 20971519):
Using default value 20971519
Partition 4 of type Extended and of size 8.5 GiB is set
e表示建立的扩展分区
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: 0x09ee18d7
Device Boot Start End Blocks Id System
/dev/vdb1 2048 1026047 512000 83 Linux
/dev/vdb2 1026048 2050047 512000 83 Linux
/dev/vdb3 2050048 3074047 512000 83 Linux
/dev/vdb4 3074048 20971519 8948736 5 Extend ##把所有空间都给e
注意:
主分区最多建立四个,当建立第五个分区是会提示你建立扩展分区。
扩展分区里建立的分区属于逻辑分区。
主分区+扩展分区+逻辑分区最多16个,建立多的分区系统无法识别使用。
partprobe刷新
四、给设备安装文件系统
ext3 rhel5及之前的版本 最多支持32TB的文件系统和2t文件,实际2tb文件系统 16G文件
ext4 rhel6 1EB 16TB
xfs rhel7 18EB 9EB 7G/s 4G/s
mkfs.xfs /dev/vdb1 ##表示格式化设备/dev/vdb1(在设备上安装文件系统xfs)
完成格式化后,用blkid查看,变成可用设备。
mount /dev/vdb1 /mnt ##挂载设备到目录/mnt下
用df查看挂载情况,若成功则表示可以使用
vim /etc/fstab ##永久挂载设备/dev/vdb1
设备 挂载点 文件系统 挂载参数 是否备份 是否检测
/dev/vdb1 /mnt xfs defaults 0 0
mount -a
注意:
如果配置文件出现问题则不能正常开机,进入问题文件,将错误部分注释掉后开机,开机以后再进行更改
五、swap分区管理
1、swap分区的建立
划分分区并设定分区标签
mkswap /dev/vdb6 ##格式化设备为swap文件系统格式
swapon -a /dev/vdb6 ##激活swap设备,使系统利用此设备(swap分区在使用时不需要挂载,关机重启后需再次激活)
swapon -s ##查看激活的设备
vim /etc/fastab ##激活swap设备,使系统利用此设备(实现再次开机后自动激活)
设备名称 挂载点 文件系统类型 挂载参数 不备份 不检测
/dev/vdb6 swap swap defaults 0 0
2、分区设备的删除
vim /etc/fstab
swapoff /dev/vdb6
swapon -s
六、配额
定义:指为磁盘使用用户分配额度,用户只能在该磁盘上使用所分配的额度大小,不能超过这个额度。
分区配额是针对设备来说的。
mount -o usrquota /dev/vdb7 /public ##激活设备配额参数
chmod 777 /public ##修改文件权限。使用户操作该设备
edquota -u student ##给用户分配额度
vim /etc/fstab ##开机自动激活设备配额参数
/dev/vdb7 /public xfs defaults,usrquota 0 0
测试:
普通用户下的
dd if=/dev/zero of=/public/studentfile bs=1M count=200
七、磁盘加密
cryptsetup luksFormat /dev/vdb8 ##给分区加密
cryptsetup open /dev/vdb8 westos
mkfs.xfs /dev/mapper/westos
mount /dev/mapper/westos /mnt
touch /mnt/file{1..10}
umount /mnt/
cryptsetup close westos
1.建立分区/dev/vdb8
2.同步,格式化设备,查询是否可用
3.给磁盘分区加密
4.生成westos文件来管理vdb8分区,输入密码,westos位于/dev/mapper/下
5.将westos文件格式化
5.将/dev/mapper/westos挂载,并建立自己的文件
6.卸掉挂载,关掉加密,此时就找不到自己的文件了
cryptsetup open /dev/vdb8 westos
mount /dev/mapper/westos /mnt
7.当想查看自己的文件时,需要输入自己设定的密码,去所在文件查看
八、加密磁盘开机自动挂载
1.vim /etc/fstab
/dev/mapper/westos /mnt xfs defaults 0 0
vim /etc/crypttab
westos /dev/vdb8 /root/westoskey
vim/root/westoskey
密码
在编辑cryptsetup luksAddKey /dev/vdb8 /root/westoskey这个文件,输入自己的密码
然后完成后重启检查挂载情况:
发现挂载成功,表示实现了开机重启后自动加密:
2.清除加密,卸掉挂载,删除开机重启,删除文件内容和密码文件,最后将密码分区进行格式化: