##################################
1.本地存储设备的识别
fdisk -l | ##系统中存在的设备(存在的设备不一定能被识别) |
---|---|
cat /proc/partition | ##系统当中内核被识别的设备(内核被识别的设备不一定能用) |
blkid | ##系统中可使用的设备 |
df | ##系统正在挂载的设备 |
例:
<1>将自己的U盘插在电脑上,df查看系统中正挂载的设备,含有U盘
<2>查看系统中存在的设备
<3>查看系统中被识别的设备
<4>查看系统中可使用的设备
2.设备的挂载和卸载
(1)设备名称
/dev/xdx | ##/dev/hd0 /dev/hd1 /dev/sda /dev/sdb /dev/sda1 /dev/sda2 /dev/sdb1 |
---|---|
/dev/sr0 | ##光驱 |
/dev/mapper/* | ##虚拟设备 |
(2)设备的挂载
mount 设备 挂载点
mount /dev/sdb1 /mnt ##挂载/dev/sdb1到/mnt
umount /dev/sdb1 | /mnt ##卸载
mount -o ro /dev/sdb1 /mnt ##只读挂载
mount ##查看挂载信息
mount -o remount,rw /dev/sdb1 /mnt ##重新读写挂载
例:
<1>将U盘挂在到/mnt/目录下,查看/mnt/中的内容,是U盘中的内容
<2>mount 查看挂载信息,即挂载的状态
如图所示:U盘的挂载为读写挂载
<3>mount /dev/sdb1 将U盘从/mnt/下卸载
再次卸载,U盘不在系统正在挂载的设备中
<4>将U盘只读挂载到/mnt/下,mount查看挂在信息,U盘为只读挂载
<5>切换到该目录下,在其中建立文件,建立不了,因为是只读类型
<6>mount -o remount,rw /dev/sdb1 /mnt 将U盘重新读写挂载,挂在后查看信息
(3)解决设备正忙的问题
切换到/mnt/(设备挂载点)打开另一shell卸载设备,出现设备正忙的报错
解决方法1:
fuser -v /mnt ##查看占用设备的进程
fuser -vm /mnt##总进程和子进程都显示,更详细
fuser -kvm /mnt##查看并杀死进程
umount /mnt 卸载
解决方法2:
lsof /mnt
查看占用/mnt/的进程号
kill -9 pid 杀死进程后再次卸载
例:
<1>先切换到/mnt/目录下,打开另一个shell卸载U盘,系统提示,/mnt/正忙
<2>fuser -v /mnt 查看占用设备的进程的pid
fuser -vm /mnt 查看占用进程的总进程和子进程pid
<3>lsof /mnt 查看占用设备的进程的pid
<4>fuser -kvm /mnt 查看进程的pid并结束进程,也可以使用kill -9 pid杀死进程
注:虚拟设备 系统中模拟出来的设备
umount后可接设备也可接挂载点
可以在挂载点看到设备中的内容
默认是读写挂载
退出挂载点卸载
只读挂载 重新挂载可更改状态
vm总进程和子进程都显示,更详细
kvm查看并杀死进程
#########################################################
系统受硬盘管理
0磁道 磁头停止的位置
引导磁头到某一位置后自动读取哪一部分的文件
引导程序 长度446字节
mbr 0磁道的1扇区
记录分区信息 mbr分区方式最多划分四个主分区
mpt 主分区表 64字节
记录的分区数目由分区的信息决定
若一个分区一个字节 记录64 个
2 32
4 16
8 8
16 4
32 2
64 1
2字节 硬盘的有效标示符 55 aa
一共512字节
逻辑分区 不是由分区表记录的
扩展分区 分区由主分区表记录并且是容器
扩展分区被删除所有的逻辑分区都会失效
容器不能直接使用
#######################################
3.分区步骤
(1)硬盘0磁道1扇区的512个字节中记录的信息如下
512=446 + 64 +2
<1>fdisk -l 查看可用设备
[root@server_sshd ~]# fdisk -l
Disk /dev/vda: 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: 0x00013f3e
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 20970332 10484142+ 83 Linux
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
<2>fdisk /dev/vdb 开始分区
[root@server_sshd ~]# 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.
Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x6eba3973.
<3>按m查看帮助|用法
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
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
<4>按n建立分区,系统会提示要建立p(主分区)还是e(扩展分区),默认是p,直接回车即可,再次回车,到选择大小时+想要的大小,建立完了可以p查看主分区表
Command (m for help): n ##新建
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): ##主分区
Using default response 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): +200M ##分区大小
Partition 1 of type Linux and of size 200 MiB is set
<5>重复以上建立步骤,建立三个分区后查看分区表,含有三个分区
查看分区表
<6>再次建立,系统只会提示e,只可以建立扩展分区,一直按回车,将剩下所有的大小分给扩展分区,保证所有的大小可用,建立后查看
<7>建立完扩展分区后继续建立,系统不会再提示类型,只可以建立逻辑分区
按回车继续,道选择分区大小时+输入自己想要的大小,建立完之后查看,现在有五个分区
<8>wq退出保存,如果只按q不会保存直接退出
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
<9>退出后fdisk -l 查看存在的设备,现在存在五个设备,是刚刚建立的五个分区
自动文件系统挂载策略
4.给设备安装文件系统
<1>blkid查看系统中的可用设备
[root@server_sshd ~]# blkid
/dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs"
<2>mkfs.xfs /dev/vdb5格式化设备,格式化了才可用
<3>格式化之后再次查看可用设备,显示有两个
<4>将刚刚添加的可用设备挂载到/mnt/下,
(临时挂载,关机重启后自动消失)卸载后mount -a ,df查看设备没有被挂载
<5>编辑文件vim /etc/fstab,
写入/dev/vdb5 /mnt xfs defaults 0 0
mount -a 自动挂载,挂载后df查看,有/dev/vdb5 设备
###########################################
同步分区表
-a 激活
-s 扫描
5.swap分区管理
(1)swap分区建立
<1>划分一个分区
查看分区表
更改分区类型
<2>设定分区标签82
再次查看分区表,信息改变
<3>退出保存后出现报错
<4>同步分区表
[root@server_sshd ~]# partprobe
查看被识别的设备
[root@server_sshd ~]# cat /proc/partitions
<5>格式化swap分区,blkid查看可用设备
<6>swapon -s,扫描swap分区,扫描不到
swapon -a /dev/vdb6 激活新建的swap分区后再次扫描可以扫描到
<7>编辑文件,永久设定
/dev/vdb6 swap swap defaults 0 0
[root@server_sshd ~]# vim /etc/fstab
(2)删除swap分区
<1>关闭swap分区,再次扫描没有swap分区,从文件中也删除
[root@server_sshd ~]# swapoff /dev/vdb6
[root@server_sshd ~]# swapon -s
[root@server_sshd ~]# vim /etc/fstab
<2>查看系统中存在的设备,swap分区仍然在
<3>删除swap分区
<4>同步分区表再次查看系统中存在的设备,没有swap分区
#####################################################
6.配额
<1>建立一个新的公共目录/pub/
[root@server_sshd ~]# mkdir /pub/
<2>卸载/mnt/
从文件中也删除或者注释
<3>将/dev/vdb5这个设备挂载到新建目录上
<4>更改目录的权限
[root@server_sshd ~]# chmod 1777 /pub/
[root@server_sshd ~]# ls -ld /pub/
drwxrwxrwt. 2 root root 6 Jan 22 06:09 /pub/
<5>切换到student用户,切换到/pub/路径下,在/pub/中占用空间,几次占用后会提示满额
<6>退出student用户后超级用户删除刚刚建立的所有文件,查看挂载状态,没有用户配额
[root@server_sshd pub]# rm -fr /pub/*
[root@server_sshd pub]# mount
<7>先卸载/pub/,加入用户配额再次挂载
[root@server_sshd ~]# umount /pub/
[root@server_sshd ~]# mount -o usrquota /dev/vdb5 /pub/
<8>设定限额的用户可用的额度
[root@server_sshd ~]# edquota -u student /dev/vdb5
edquota: user /dev/vdb5 does not exist.
将文件中的hard硬限设为20480K即20M
<9>切换到student用户,占用20M空间可以成功,21M出现报错,因为给student用户的配额只有20M
注:
先挂载再该权限
挂载时激活用户配额
blocks 的大小由系统统计
soft 警告
hard 硬限 单位k
inodes 用户在设备上的文件个数
个数的软限和硬限
配额时针对设备的,只在设置过配额的设备生效
用户在没有设置配额的设备上写入不会受到限制
#########################################
7.磁盘加密
加密后会覆盖原来的内容
设定之前将配额卸载
解密后的形态,原来的设备不可用
(1)设备加密
<1>加密前卸载设备,删除配额,在pub目录下建立文件
<2>给/dev/vdb5设备加密,输入大写的yes,设置密码
<3>加密后查看可用设备/dev/vdb5显示被加密
<4>挂载设备显示无法挂载
<5>打开加密设备之前先查看/dev/mapper目录,只有一个文件
<6>打开时给/dev/vdb5设备一个代号hello,输入密码
改变形态打开
<7>查看/dev/mapper 有两个文件,其中包括刚刚解密的hello
<8>初始化刚刚新解密的设备/dev/mapper/hello
<9>将设备挂载到/pub/目录下
<10>在目录中建立文件并编辑,目录中加密前的文件被覆盖
<11>卸载设备,恢复原来的形态cryptsetup close hello
<12>再次解密,新的代号可以改变,输入设定的密码,查看/pub/目录下文件的内容,和上一次解密时写入的一致,所以说代号不会改变解密后设备中的内容
<13>卸载设备,再次查看目录下的文件,是加密之前的文件
(2)加密磁盘的开机自动挂载
加密过的文件开机启动时会开不了,为了解决这一问题,可以在系统中将设备密码写入一个文件中,设置加密磁盘开机自动挂载
<1>在文件中写入
[root@server_sshd ~]# vim /etc/fstab
/dev/mapper/hello /pub xfs defaults 0 0
<2>建立并编辑任意文件,在文件中写入加密设备的密码
<3>
<4>给加密设备加钥匙
<5>重启虚拟机
<6>开机后df直接查看,加密设备被自动挂载
(3)删除加密和开机自动挂载
<1>将三个文件中的内容删除或注释
[root@server_sshd ~]# vim /etc/fstab
[root@server_sshd ~]# vim /root/disk_passwd
[root@server_sshd ~]# vim /etc/crypttab
<2>卸载设备
[root@server_sshd ~]# umount /pub/
<3>关闭加密形态
[root@server_sshd ~]# cryptsetup close hello
<4>再次初始化设备,系统提示要加-f强制初始化
[root@server_sshd ~]# mkfs.xfs /dev/vdb5
mkfs.xfs: /dev/vdb5 appears to contain an existing filesystem (crypto_LUKS).
mkfs.xfs: Use the -f option to force overwrite.
[root@server_sshd ~]# mkfs.xfs /dev/vdb5 -f
meta-data=/dev/vdb5 isize=256 agcount=4, agsize=32000 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0
data = bsize=4096 blocks=128000, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal log bsize=4096 blocks=853, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
<5>reboot重启即可
###########################################