1.本地存储设备的识别
fdisk -l ###真实存在的设备
cat /proc/partitions ###系统识别的设备
blkid ###系统可以使用的设备
df ###系统正在挂载的设备
df <= blkid <= cat /proc/partitons <=fdisk -l
设备的挂载与卸载
1.设备名称
/dev/xdx ## 硬盘 并口硬盘:/dev/hd0 /dev/ha1 串口硬盘: /dev/sda /dev/sdb /dev/sda1 /dev/sda2 /dev/sdb1 /dev/sdb2
/dev/sr0 ##光驱
/dev/mapper/* ##虚拟设备
2.设备的挂载
mount 设备 挂载点
mount /dev/sdb1 /mnt ###挂载sdb1到mnt
umount /dev/sdb1 | /mnt ###卸载
mount -o remount,rw /dev/sdb1 | /mnt ###重新读写挂载
mount ##查询所有设备挂载情况
实验:解决设备正忙的方法
1.插入u盘,将/dev/sdb1设备挂载到/mnt
2. vim /mnt/file & ##将编辑文件进程打入后台
3.umount /dev/sdb1 ##卸载挂载点,会发现操作失败
4.有两种方式解决:
1)
lsof /dev/sdb1 | /mnt ##查询进程
kill -9 进程id ##杀死进程
umount /dev/sdb1 | /mnt
2)
fuser -vm /dev/sdb1 | /mnt ##查看/mnt谁在用
fuser -kvm /dev/sdb1 | /mnt ##结束繁忙进程
umount /dev/sdb1 | /mnt
实验:权限设置
(1)插入u盘;
(2)mount -o ro /dev/sdb1 /mnt ##对挂载点进行只读权限设置
(3)mount -o remount,rw /dev/sdb1 ##重新挂载,并对文件给读写权限
硬盘的物理结构:
可将硬盘看作一个圆,磁盘的物理结构涉及磁道、扇区、柱面、簇等几个概念。
磁盘的分区
什么是分区?
分区是将一个硬盘驱动器分成若干个逻辑驱动器,分区是把硬盘连续的区块当做一个独立的磁硬使用。分区表是一个硬盘分区的索引,分区的信息都会写进分区表。
为什么要有多个分区?
-
防止数据丢失:如果系统只有一个分区,那么这个分区损坏,用户将会丢失所的有数据。
-
增加磁盘空间使用效率:可以用不同的区块大小来格式化分区,如果有很多1K的文件,而硬盘分区区块大小为4K,那么每存储一个文件将会浪费3K空间。这时我们需要取这些文件大小的平均值进行区块大小的划分。
-
数据激增到极限不会引起系统挂起:将用户数据和系统数据分开,可以避免用户数据填满整个硬盘,引起的系挂起。
要掌握硬盘的分区,需要掌握MBR、扩展分区、逻辑分区的概念。
一个是放置该硬盘的信息区,称之为主引导记录(MBR,Main Boot Record),一个是实际文件数据放置的地方.其中,MBR是整个硬盘最重要的区域,一旦MBR物理实体损坏时,则该硬盘就差不多报废了,一般来说,MBR有512个字节,且可以分为两个部分。
(1)第一部分有446个字节,用于存放引导代码,即是bootloader。
(2)第二部分有64个字节,用于存放磁盘分区表.其中,每个分区的信息需要用16个字节来记录。因此,一个硬盘最多可以有4个分区,这4个分区称之为主分区和扩展分区(extended)。
(3)硬盘有效标志:2个字节
通常所说的"硬盘分区"就是指修改磁盘分区表,
由于扩展分区只能有一个,所以这4个分区可以是4个主分区或者3个主分区加1个扩展分区,如下所示:
P + P + P + P
P + P + P + E
由于MBR仅能保存4个分区的数据信息,如果超过4个,系统允许在额外的硬盘空间存放另一份磁盘分区信息,这就是扩展分区.若将硬盘分成3P+E,则E实际上是告诉系统,磁盘分区表在另外的那份分区表,即扩展分区其实是指向正确的额外分区表.本身扩展分区不能直接使用,还需要额外将扩展分区分成逻辑分区才能使用,因此,用户通过扩展分区就可以使用5个以上的分区了。
分区的操作步骤:
1.fdisk /dev/vdb ##进入分区添加窗口
主要参数说明:
d ###删除分区
n ###新建分区
p ###显示所建分区的信息
q ###退出不保存修改
t ###修改分区id
w ###保存分区信息表到硬盘
2.建立主分区
默认建立主分区
用默认分区id
设置新建分区大小:起始扇区默认,大小设置为+500M
显示分区信息
继续按重复上述步骤建立3个主分区
已有3个主分区的时候,再继续建立分区时,默认先划分扩展分区
将剩余的内存全划分给扩展分区
保存退出。
cat /proc/partitions ##查看当前系统中能识别到的设备
blkid ###查看系统可以使用的设备
可以看出/dev/vdb并没有被使用,直接挂载会失败。
3.给设备铺设文件系统
mkfs.xfs /dev/vdb1
再次查看系统可以使用的设备blkid
挂载设备 mount /dev/vdb1 /mnt
注意:此时的挂载是临时分区挂载,reboot之后,挂载会自动消失
实现永久挂载
vim /etc/fstab ##编辑文件
加入: /dev/vdb1 /mnt xfs defaults 0 0
重启,测试挂载是否还存在
swap 分区管理
1.swap分区的设定
划分分区并设定分区标签为82
fdisk /dev/vdb ##输入命令
Command (m for help): t ## 输入t,改变划分系统的id
Partition number (1-5, default5): 5 ##改变第5个设备
Hex code (type L to list all codes): L##查询swap分区在哪
2.激活swap分区(临时)
mkswap /dev/vdb5 ##格式化操作
swapon -a /dev/vdb5 ##激活新交换区
swapon -s ##查看当前交换区的状态
3.激活swap分区(永久)
vim /etc/fstab ##编辑文件
加入:/dev/vdb5 swap swap defaults 0 0
swapon -s ##刷新,重新读取文件/etc/fstab
fdisk -l ##查询
4.删除swap分区
vim /etc/fstab ##编辑文件
删除:/dev/vdb5 swap swap defaults 0 0
swapoff /dev/vdb5
swapon -s
分区的配额
1.新建分区,格式化
2.新建目录并改变其权限
mkdir /public
chmod 777 /public
挂载:
临时挂载:mount -o usrquota /dev/vdb6 /public
永久挂载:vim /etc/fstab
挂载之后重新查看/public 的 权限,
由此可见该目录的权限实质上是其挂载的设备的权限
所以我们要想改变/public的权限,需要在挂载之后执行操作
chmod 777 /public
3.执行edquota -u student
4.测试:切换到student用户,截取一个大小为20M的文件
截取一个大小为200M的文件时
磁盘加密
1.设置磁盘的密码
cryptsetup luksFormat /dev/vdb8 ##给磁盘加了一个“盖子”
2.将加密后的文件解锁,并放在/dev/mapper下
cryptsetup open /dev/vdb8 westos
3.ll /dev/vdb8/westos
4.对解锁后的文件格式化
mkfs.xfs /dev/mapper/westos
5.使用设备
mount /dev/mapper/westos /mnt 挂载
touch /mnt/file{1..5}
ls /mnt
6.解挂
umount /mnt
cryptsetup close westos ##盖上盖子
ll /dev/mapper ##目录westos消失了