Linux 系统中的磁盘管理

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消失了

猜你喜欢

转载自blog.csdn.net/weixin_40172997/article/details/83866691