磁盘分区
1.设备名称
/dev/xdx /dev/hd0 /dev/hd1 /dev/sda /dev/sdb /dev/sda1 /dev/sda2 /dev/adb1
/dev/sr0 光驱
/dev/mapper/* 虚拟设备
真机/dev/sda s=sata d=disk a=第1块
虚拟机/dev/vda v=virtual d=disk a =第1块
2.本地存储设备的识别
命令 | 查看的设备 |
---|---|
fdisk -l | 真实存在的设备 |
cat /proc/partitions | 系统识别的设备 |
blkid | 系统可使用的设备 |
df | 系统正在挂载的设备 |
通过以上命令对虚拟机的设备进行查看:
2.设备的挂载和卸载
-
普通挂载、卸载
我们以U盘为例:
将U盘插到电脑上,在真机中执行fdisk -l命令,查看到U盘的设备名称是/dev/sdb1。
将U盘设备挂载到/mnt目录。查看/mnt目录内容是U盘中的内容。
通过df命令查看挂载设备,显示/dev/sdb1挂载到/mnt。
如果用户在/mnt目录下或在占用U盘时直接卸载U盘设备,系统会提示错误与解决方案。我们可以通过losf /dev/sdb1或fuser /dev/sdb1命令查看目前有哪些进程在使用挂载,kill这些进程。
再次卸载设备,成功卸载。
-
只读挂载的处理
有些U盘有写保护,在linux系统中只能读取,不能写入我们可以通过下面的方式处理。
我们现在进行写保护挂载,U盘在电脑上只有读权限。
如果挂载时提示被占用,先卸载其他挂载,再进行写保护挂载。
写保护挂载成功后,我们通过mount命令可以查看所有挂载设备的权限,我们看到/dev/sdb1设备的瓜挂载权限是只读。创建文件不成功。
我们可以通过命令mount -o remount,rw /dev/sdb1 或mount -o remount,rw /mnt添加上读权限。此时在/mnt目录下创建文件成功。
3.磁盘分区
我们的电脑在开机是硬盘上的磁针会指到0磁道(446字节mbr主分区记录 2字节=55aa硬盘的有效性识别 64字节mpt主分区标 64+2=446=512字节)上来进行识别,通过识别分区表来进行开机服务。
一个分区占用16字节,一个硬盘最多可以划分4个主分区。
主分区 primary ; 扩展分区 extended; 逻辑分区:logical
我们通过fdisk -l命令可以查看分区。
通过命令fdisk /dev/vdb1添加分区。
m代表帮助,我们可以查看到所有可以执行的操作,但有些操作不是在linux系统下进行的,我们常用的操作是下面标红的内容。
n代表新建分区。
此时通过fdisk -l命令可以查看到分区/dev/vdb1。
执行blkid命令系统识别的设备,不能查看到/dev/vdb1,因为没有格式化,我们通过命令对其格式化后,再次执行blikid命令查看就可以查看到此分区。
将/dev/vdb1分区挂载到/mnt目录。(如果没有格式化分区,不能挂载)
再创建一个分区,我们会看到保存后出现警告与解决方案。
我们通过parprobe命令刷新了分区表,此时可以查看到新的分区/dev/vdb2.
创建到第三个分区时,系统默认创建的分区类型从主分区 primary 变为扩展分区 extended。
我们刷新分区表
通过fdisk -l命令查看到/dev/vdb4分区与其他分区类型不同。
- 给设备安装文件系统
创建第五个分区时,我们会看到系统提示我们:所有主分区被占用,添加逻辑分区。
开机自动挂载策略文件:/etc/fstab
在开机自动挂载策略文件:/etc/fstab中添加逻辑分区/dev/vdb5的挂载。
4.swap分区管理
- swap分区建立
添加新分区/dev/vdb6,我们添加分区时为分区添加标签通过t(如图1),如果我们不知道有哪些可以添加的标签可通过l查看(如图2),我们查看后选择82标签,直接输入82(如图2);设置完成后通过p显示分区信息,最后一定要输入wq进行保存,否则会添加失败(如图3)。
图1
图2
图3
我们查看上面的图三会看到警告与解决方案,使用partprobe或kpartx命令刷新分区表。此时通过cat /proc/partitions命令可以查看到/dev/vdb6分区。但此时的分区还不能被系统识别,blkid命令不能识别。
我们应该对逻辑分区/dev/vdb6进行格式化:mkswap /dev/vdb6,此时系统可以识别/dev/vdb6分区。
启动swap分区/dev/vdb6,查看swap分区。
- swap分区的删除
第一步:
第二步:
第三步:刷新分区表后,查看分区表,此时swap分区/dev/vdb6已经删除。
5.配额
磁盘分区后就要分配额度,我们创建一个新的分区/dev/vdb7来进行配额操作。
刷新分区表,格式化新分区。
直接进行挂载,查看mount发现/dev/vdb7分区的状态是:noquota,这种状态下我们不能做配额操作。
我们需要使用命令mount -o usrquota /dev/vdb7 /pub挂载分区。
此时执行mount命令查看到分区的状态为:usrquota.
挂载好分区后为挂载点文件设置权限777,不能在挂载前设置权限,因为挂载后会改变;为student用户设置其使用/dev/vdb7分区的限度:20M。
在自动挂载文件中添加/dev/vdb7分区的挂载信息。
转换到student用户,使用quota命令查看student 用户对分区的使用限制。
我们使用student用户在/pub目录下划分出十个1M的大小,占用了10M,在限度内成功划分。
我们使用student用户在/pub目录下划分出十个5M的大小,需要占用50M,超出了限度,划分失败。