Linux从入门到精通——系统分区及文件系统的管理

一.磁盘的管理

1.关于磁盘与硬盘

这两个东西不是一个概念。二者是互相交叉的。
磁盘,是计算机的外部存储器中类似磁带的装置,将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失。磁盘有软磁盘,硬磁盘。硬磁盘就是机械硬盘。
硬盘是电脑主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。碟片外覆盖有铁磁性材料。硬盘有固态硬盘(SSD 盘,新式硬盘)、机械硬盘(HDD 传统硬盘)、混合硬盘(HHD 一块基于传统机械硬盘诞生出来的新硬盘)。SSD采用闪存颗粒来存储,HDD采用磁性碟片来存储,混合硬盘(HHD: Hybrid Hard Disk)是把磁性硬盘和闪存集成到一起的一种硬盘。绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。


2.本地存储设备的判别

fdisk -l                 ##查看本机真实存在的设备,真实存在的设备不一定能被系统识别

cat /proc/partition    ##查看系统能识别的设备,系统能识别的设备不一定可以使用

blkid                    ##查看系统可使用的设备

df           ##查看系统正在挂载的设备


3.设备的挂载和卸载
(1).设备的名称

用df进行查看

可以看到一般的存储设备名称都是 /dev/xdx ,例如:  

/dev/hd0  /dev/hd1      这类设备都是并口硬盘,简称IDE硬盘,使用的是并口接口(LPT),数字代表第几块硬盘,如hd0代表第一块并口硬盘,下面也可以类推

/dev/sda  /dev/sdb      这类设备为串口硬盘,现在使用的是sata接口,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。

/dev/sr0   /dev/sr1       光驱设备

/dev/mapper/xxx         虚拟设备



(2).设备的挂载

使用的命令:mount

命令格式为:mount  +  要挂载的设备  +  挂载点

mount   /dev/sdb1  /mnt         ##把sdb1挂载到/mnt上
umount  /mnt  /dev/sdb1           ##卸载挂载mnt上的sdb1
mount  -o  ro  /dev/sdb1  /mnt           ##只读挂载sdb1
mount                               ##查看挂载信息
mount -o remount,rw /dev/sdb1 |/mnt       ##重新挂载并设定为读写挂载


3.解决设备正忙情况

当有程序正在使用挂载目录时,正常的卸载是无法完成的,这时需要以下操作完成强行卸载

方法一:

fuser -kvm  /mnt            ##强行停止程序对该目录的使用,该操作会关闭当前的shell

umount  /mnt

方法二:

lsof /mnt

kill -9 进程IP

umount   /mnt

4设定永久挂载

方法一:使用开机自启动脚本

vim /etc/rc.d/rc.local

编辑内容如下:

mount  /dev/vdb1   /mnt   

注:rc.local是个脚本,在其中编辑的内容为shell的命令

方法二:使用自动挂载策略

vim /etc/fstab

编辑内容如下:

/dev/vdb1  /mnt/  xfs  defaults  0  0          ##xfs表示挂载的文件系统格式,defaults表示默认自动挂载,第一个0代表不备份,第二个0代表不检测

保存退出以后用df命令查看,发现没有挂载

mount -a                       ##读取文件中的挂载策略,使没有生效的策略立即生效

注:策略的书写格式和脚本不同,且开机执行顺序优先于rc.local,具体格式可以man 5 fstab查看

5.fstab的报错

策略文件书写格式错误时,例如:

/dev/vdb1  /mnt  defa     0 0              ##错误的写法        

重启会导致系统无法正常启动

    

解决方法:

输入root的密码登陆,之后上面会有报错的信息

在无图形的界面输入vim /etc/fstab

把错误的行命令用#注释起来,wq退出保存

reboot

系统即可重启

 partprobe                       ##手动同步分区表


当电脑某一个设备正在被系统使用的时候,他自动读取分区表就会失败,所以需要手动读取



6.swap分区管理

(1)swap分区的建立(设定分区并设定分区标签为swap,以vdb3为例)

fdisk /dev/vdb             ##管理磁盘及分区

t                      ##修改分区标签

分区数字                   ##修改第几个的标签

l                      ##列出所有代码,可以看到所有的标签及对应分区含义

82                     ##修改为swap分区

wq                     ##退出保存

partprobe                          ##同步分区表

mkswap  /dev/vdb3               ##对设备进行swap格式化

swapon -a  /dev/vdb3            ##激活

swapon -s                         ##查看是否激活

注:这个操作也是临时的,重启后会消失,如果想要永久激活,还是要写入 /dev/fstab     

vim /etc/fstab

/dev/vdb6  swap  swap  defaults  0  0

(2)swap的删除
vim /etc/fstab
#/dev/vdb3  swap  swap  defaults  0  0    ##将这行删除或者注释掉
swapoff  /dev/vdb3               ##删除swap分区
swapon -s                        ##查看


7.用户配额设定(分配额度,最大能使用额度)

配额是针对分区(比方:student用户在某一个设备的配额是定的,在别的不一定,如果配额是针对用户的话,那就代表在电脑里只能编写定额的文件)  

mount -o usrquota /dev/vdb7 /student

chmod 777 /student                 

edquota -u student              ##设定所有人的配额,在开机的时候会失效,因为挂载是临时的

永久挂载:
vim /etc/fstab
/dev/vdb7  /student  xfs   defaults,usrquota(参数)  0  0

测试:(用设定的用户测)
dd if=/dev/zero of=/student/studentfile bs=1M count=200
du -sh /student

示例:
重新建立一个磁盘分区/dev/vdb7
mkdir /student

chmod 777 /student  

ls -ld /student

mount /dev/vdb7  /student

ls -ld /student                   ##此时权限改成了755

注意:先挂设备再改目录权限,因为目录权限本身是记录在设备里的,每挂载之前和挂载之后度的设备不一样,刚开始读的是/dev/vda1,挂载后读的是/dev/vdb7.

8.设备的加密——luks(基于文件系统的加密)
cryptsetup luksFormat /dev/vdb8          ##加密格式化

YES                       ##必须要大写

cryptsetup open /dev/vdb8 hello(名字任意的)

mkfs.xfs /dev/mapper/hello            ##格式化  mapper虚拟设备

mount /dev/mapper/hello /mnt

touch /mnt/file{1..6}

umount /mnt

cryptsetup close hello

查看:
cryptsetup open /dev/vdb8 hello          ##需要密码
mount /dev/mapper/hello /mnt

   

猜你喜欢

转载自www.cnblogs.com/ChairmanYSL/p/9480467.html