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 查看真实存在的设备 如下图

Linux系统中的磁盘管理
用命令 cat /proc/partitions  查看系统识别的设备 如下图

Linux系统中的磁盘管理
用命令  blkid     查看系统可使用的设备 如下图

Linux系统中的磁盘管理
用命令 df  查看系统正在挂载的设备 如下图

Linux系统中的磁盘管理

3.设备的挂载和卸载
1).设备名称
/dev/xdx             为分区 比如  /dev/hd0 /dev/hd1 /dev/sda /dev/sdb /dev/sda1 /dev/sda2
/dev/sr0             为光驱
/dev/mapper/*   为虚拟设备

2).设备的挂载
用命令   mount    设备    挂载点   可以把设备挂载到挂载点上 如下图

Linux系统中的磁盘管理
用命令 umount /mnt 或者 /dev/sdbl   可以把设备从挂载点上卸载下来

3).解决设备正忙情况

有时我们在卸载设备时会出现下面的情况
Linux系统中的磁盘管理

提示中有  target  is busy 它表明有程序正在使用此设备
解决方法(1):
Linux系统中的磁盘管理
解决方法(2):
Linux系统中的磁盘管理

4.分区步骤

用命令fdisk /dev/vdb进行分区,我们可以根据提示先输入m命令,查看各个参数所表示的命令如下图

Linux系统中的磁盘管理

我们可以列举几个经常用的参数  d  表示删除  , n 表示新建 , p  表示显示分区 ,q 表示退出,t 表示修改分区,w表示保存分区标信息到硬盘

建立主分区

Linux系统中的磁盘管理

和上述步骤一样,我们再建立两个主分区

Linux系统中的磁盘管理

 

注意:3个主分区出现要先划分扩展分区

我们已经建立好了三个主分区,所以下面需要划分扩展分区,操作如图所示

Linux系统中的磁盘管理

我们可以用命令 p 查看,如下图

Linux系统中的磁盘管理

4.给设备安装文件系统

Linux 文件系统:ext2(Extended file system), ext3,ext4, xfs (SGI ), btrfs (Oracle ), reiserfs, jfs(AIX), swap

根据其是否支持"journal" 功能:

  日志型文件系统: ext3, ext4, xfs, ...

  非日志文件系统: ext2, vfat

   分区是不能直接去往挂载点上挂载的,我们需要用命令mkfs去把它格式化成文件系统,才可以去挂载,文件系统又有很多种,我们下面的主要将分区格式化成xfs类型的文件系统

如图

Linux系统中的磁盘管理

Linux系统中的磁盘管理

5.swap分区管理

1)swap分区建立

划分分区并设定分区标签为82

Linux系统中的磁盘管理Linux系统中的磁盘管理

用命令mkswap /dev/vdb6格式化分区/dev/vdb6 如图

Linux系统中的磁盘管理

先用命令swapon -a /dev/vdb6**swap分区 然后用命令swapon -s显示swap分区 如图

Linux系统中的磁盘管理

以上命令都是临时的,若需要永久保存,需要将其写入配置文件中进行永久保存。

在 /etc/fstab中编辑下图内容,退出保存即可

Linux系统中的磁盘管理

2)swap分区删除

我们可以通过命令swapoff  /dev/vdb6 删除swap分区 然后用命令swapon -s命令查看是否删除 如图

Linux系统中的磁盘管理

若上个步骤中,若我们改了配置文件,想要删除swap分区,我们要将配置文件里的内容还原

7.配额 (配额是针对于分区的)

先建立分区/dev/vdb7 ,再用命令mkfs.xfs将它格式化,再去建立一个/public目录

用命令mount /dev/vdb7 /public/ -o usrquota 将分区vdb7挂再/public目录下

修改目录/public权限为777

设置用户配额 使用命令 edqouta –u student修改成如下图所示 然后保存退出

Linux系统中的磁盘管理

我们切换成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大小的文件 做对比 如图

Linux系统中的磁盘管理

由上图可以看出,我们烤20M大小的文件时,文件大小和分区的配额刚好一致,所以没有报错;而当我们烤21M大小的文件时,超出了配额的大小,所以出现报错 error writing ‘/public/studentfile’: Disk quota exceeded 意思为超过磁盘配额

8.磁盘加密

1)

我们先建立vdb8分区 ,然后再格式化

用命令cryptsetup luckFormat /dev/vdb8 安装加秘密层 如下图

Linux系统中的磁盘管理

先用码命令cryptsetup open /dev/vdb8 www 打开加密层,我们可以看到/dev/mapper/www文件,当我们关掉加密层后就看不到了

Linux系统中的磁盘管理

再格式化 /dev/mapper/www 然后挂载到/mnt上 在/mnt上就可以看见它。

Linux系统中的磁盘管理

 

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            格式化硬盘分区(不关闭加密层不能进行格式化)

注意:取消加密 把设备格式化,必须在其关闭的状态下