Linux系统中的磁盘管理
1.基本概念
linux最多有63个磁盘分区,比如主分区有hda1,hda2,hda3。而hda5和它之后的分区组成了扩展分区hda4,扩展分区只是一个逻辑分区分割表,所以它只起到分割作用不能被格式化。
我们知道硬盘的第一个扇区也就是第0扇区是用来存放主引导记录(MBR)的,因此也称MBR扇区。主引导记录(Master Boot Record,缩写:MBR),又叫做主引导扇区,是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。
MBR是由分区程序(如Fdisk,Parted)所产生的,它不依赖任何操作系统,而且硬盘引导程序也是可以改变的,从而能够实现多系统引导。
一个扇区是512字节,因此MBR的大小也是512字 节,其具体数据结构是:446个字节的引导代码、64个字节的分区表及2个字节的签名值"55AA"。由于MBR的分区表只有64个字节,这决定了它只能 存储4个分区记录。这就是为什么一块硬盘最多只能有4个“主分区"的原因。记住,“主分区”就是指记录在主引导记录MBR分区表中的分区,除此之外主分区 并无特别之处。
2.本地存储设备的识别
用命令 fdisk -l 查看真实存在的设备 如下图
用命令 cat /proc/partitions 查看系统识别的设备 如下图
用命令 blkid 查看系统可使用的设备 如下图
用命令 df 查看系统正在挂载的设备 如下图
3.设备的挂载和卸载
1).设备名称
/dev/xdx 为分区 比如 /dev/hd0 /dev/hd1 /dev/sda /dev/sdb /dev/sda1 /dev/sda2
/dev/sr0 为光驱
/dev/mapper/* 为虚拟设备
2).设备的挂载
用命令 mount 设备 挂载点 可以把设备挂载到挂载点上 如下图
用命令 umount /mnt 或者 /dev/sdbl 可以把设备从挂载点上卸载下来
3).解决设备正忙情况
有时我们在卸载设备时会出现下面的情况
提示中有 target is busy 它表明有程序正在使用此设备
解决方法(1):
解决方法(2):
4.分区步骤
用命令fdisk /dev/vdb进行分区,我们可以根据提示先输入m命令,查看各个参数所表示的命令如下图
我们可以列举几个经常用的参数 d 表示删除 , n 表示新建 , p 表示显示分区 ,q 表示退出,t 表示修改分区,w表示保存分区标信息到硬盘
建立主分区
和上述步骤一样,我们再建立两个主分区
注意:3个主分区出现要先划分扩展分区
我们已经建立好了三个主分区,所以下面需要划分扩展分区,操作如图所示
我们可以用命令 p 查看,如下图
4.给设备安装文件系统
Linux 文件系统:ext2(Extended file system), ext3,ext4, xfs (SGI ), btrfs (Oracle ), reiserfs, jfs(AIX), swap
根据其是否支持"journal" 功能:
日志型文件系统: ext3, ext4, xfs, ...
非日志型文件系统: ext2, vfat
分区是不能直接去往挂载点上挂载的,我们需要用命令mkfs去把它格式化成文件系统,才可以去挂载,文件系统又有很多种,我们下面的主要将分区格式化成xfs类型的文件系统
如图
5.swap分区管理
1)swap分区建立
划分分区并设定分区标签为82
用命令mkswap /dev/vdb6格式化分区/dev/vdb6 如图
先用命令swapon -a /dev/vdb6**swap分区 然后用命令swapon -s显示swap分区 如图
以上命令都是临时的,若需要永久保存,需要将其写入配置文件中进行永久保存。
在 /etc/fstab中编辑下图内容,退出保存即可
2)swap分区删除
我们可以通过命令swapoff /dev/vdb6 删除swap分区 然后用命令swapon -s命令查看是否删除 如图
若上个步骤中,若我们改了配置文件,想要删除swap分区,我们要将配置文件里的内容还原
7.配额 (配额是针对于分区的)
先建立分区/dev/vdb7 ,再用命令mkfs.xfs将它格式化,再去建立一个/public目录
用命令mount /dev/vdb7 /public/ -o usrquota 将分区vdb7挂再/public目录下
修改目录/public权限为777
设置用户配额 使用命令 edqouta –u student修改成如下图所示 然后保存退出
我们切换成student用户来测试,上图中我们设置的配额为20480,也就是20M,我们可以用命令dd if=/dev/zero of=/public/studentfile bs=1M count=20 从/dev/ 中向 /public/中烤一个20M大小的文件,再用命令dd if=/dev/zero of=/public/studentfile bs=1M count=21烤一个21M大小的文件 做对比 如图
由上图可以看出,我们烤20M大小的文件时,文件大小和分区的配额刚好一致,所以没有报错;而当我们烤21M大小的文件时,超出了配额的大小,所以出现报错 error writing ‘/public/studentfile’: Disk quota exceeded 意思为超过磁盘配额
8.磁盘加密
1)
我们先建立vdb8分区 ,然后再格式化
用命令cryptsetup luckFormat /dev/vdb8 安装加秘密层 如下图
先用码命令cryptsetup open /dev/vdb8 www 打开加密层,我们可以看到/dev/mapper/www文件,当我们关掉加密层后就看不到了
再格式化 /dev/mapper/www 然后挂载到/mnt上 在/mnt上就可以看见它。
2.加密磁盘的永久挂载
vim /etc/crypttab
解密后设备管理文件 设备 加密字符存放的位置
www /dev/vdb1 /root/luckfile
vim /root/luckfile ##加密字符文件
填写加密密码
chmod 600 /root/luckfile
cryptsetup lucksAddKey /dev/vdb1 /root/luckfile ##将加密字符文件与设备关联
vim /etc/fstab ##编写配置文件,开机自动挂载
/dev/mapper/www /mnt xfs defaults 0 0
reboot
3.加密清除
vim /etc/fstab 清除配置文件中填写的行
vim /etc/crypttab
rm -rf /root/luckfile 删除加密字符文件
umount /mnt/ 取消挂载
cryptsetup close westos 关闭加密层
mkfs.xfs /dev/vdb1 -f 格式化硬盘分区(不关闭加密层不能进行格式化)
注意:取消加密 把设备格式化,必须在其关闭的状态下