Linux系统磁盘管理

时间:2022-05-23 18:29:24

一、磁盘分区和文件系统

  1. 磁盘:
    计算机的外部存储器中也采用了类似磁带的装置,比较常用的一种叫磁盘,将圆形的磁性盘片装在一个方的密封盒子里,这样做的目的是为了防止磁盘表面划伤,导致数据丢失。
    文件系统:曾将圆形的磁性盘片装在一个方形的密封盒子里。有了磁盘之后,人们使用计算机就方便多了,不但可以把数据处理结果存放在磁盘中,还可以把很多输入到计算机中的数据存储到磁盘中,这样这些数据可以反复使用,避免了重复劳动。可是不久之后,人们又发现了另一个问题:人们要存储到磁盘上的内容越来越多,众多的信息存储在一起,很不方便。这样就导致了文件系统的产生。
  2. 文件系统:
    文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。文件系统由三部分组成:文件系统的接口,对对象操纵和管理的软件集合,对象及属性。从系统角度来看,文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。

二、磁盘分区

计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。


fdisk ##是用于管理磁盘分区的实用程序
fdisk -l ##列出磁盘分区信息
blkid ##列出系统中可用设备的id
df ##查看系统中正在使用的设备信息
df -T ##能够查看到正在使用的设备的类型
-h ##能够查看到正在使用的设备的大小
1 fdisk /dev/vdb                   ##进行分区
2 partprobe ##同步分区信息表
3 cat /proc/partitions ##查看分区信息
4 mfs.fs /dev/vdbn(n=1,2,..n) ##格式化新建分区
5 mount /dev/vdbn(n=1,2,..n) /mnt ##临时挂载设备在/mnt 目录下
6 vim /etc/fstab
devic mountpoint ftype defaults(mountpoint) 0 0/dev/vdbn(n=1,2,..n) /mnt xfs defaults 0 0
##更改分区方式

Linux系统磁盘管理

Linux系统磁盘管理

Linux系统磁盘管理

Linux系统磁盘管理

4.改变分区表记录方式

GUID磁碟分割表(GUIDPartition Table,缩写:GPT)是一个实体硬盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,被用于替代BIOS系统中的一个扇区来存储逻辑块地址和大小信息的主开机纪录(MBR)分区表。对于那些扇区为512字节的磁盘,MBR分区表不支持容量大于2.2TB(2.2 × 10^12字节)的分区,然而,一些硬盘制造商(诸如希捷和西部数据)注意到了这个局限性,并且将他们的容量较大的磁盘升级到了4KB的扇区,这意味着MBR的有效容量上限提升到了16 TB。 这个看似“正确的”解决方案,在临时地降低了人们对改进磁盘分配表的需求的同时,也给市场带来了关于在有较大的块(block)的设备上从BIOS启动时,如何最佳的划分磁盘分区的困惑。GPT分配64bits给逻辑块地址,因而使得最大分区大小在2^64-1个扇区成为了可能。对于每个扇区大小为512字节的磁盘,那意味着可以有9.4ZB(9.4 x 10^21字节)或18 E 个512字节(9,444,732,965,739,290,426,880字节 或 18,446,744,073,709,551,615(2^64-1)个扇区 x 512(=2^9)字节每扇区)。
截止至2010年,大多数操作系统对GPT均有所支持,尽管包括Mac OS X和Windows在内的一些仅支持在EFI基础上自GPT分区启动,见#操作系统支持。
GPT分区表的结构。此例中,每个逻辑块(LBA)为512字节,每个分区的记录为128字节。负数的LBA地址表示从最后的块开始倒数,−1表示最后一个块。

1 parted /dev/vdb
Linux系统磁盘管理

Linux系统磁盘管理

5.swap分区

> 建议设定 系统RAM 建议最小交换空间
> 最大4GB 至少2GB
> 4GB-16GB 至少4GB
> 16GB-64GB 至少8GB
> 64GB-256GB 至少16G
1 fdisk /dev/vdb                    ##进行分区
2 fdisk /dev/vdb中t修改分区方式
gpt 14
doc 82
3 mkswap /dev/vdbn(n=1,2,..n) ##格式化swap分区
4 swapon -a /dev/vdbn ##激活swap分区
5 vim /etc/fstab ##长期挂载
/dev/vdbn(n=1,2,..n) swap swap defaults,pri=1 0 0
6 swapoff /dev/vdbnvdbn(n=1,2,..n) ##取消挂载文件系统

Linux系统磁盘管理

Linux系统磁盘管理
Linux系统磁盘管理

Linux系统磁盘管理

Linux系统磁盘管理

Linux系统磁盘管理
Linux系统磁盘管理

Linux系统磁盘管理

Linux系统磁盘管理

二、磁盘加密管理

  1. 磁盘加密
1 fidisk /dev/dvb                   ##磁盘分区,出创建设备 
2 cryptsetup luksFormat /dev/vdb1 ##安装加密层
3 cryptsetup open /dev/vdb1 hello ##打开加密层
4 mkfs.xfs /dev/mapper/hello ##格式化解密后文件
##/dev/mapper/是/dev/db1解密后的状态
5 mount /dev/mapper/hello /mnt ##挂载加密设备文件
6 umout /mnt/ ##取消挂载加密设备文件
7 cryptsetup close hello ##关闭加密层

Linux系统磁盘管理

2加密的永久性挂载

1 vim /etc/crypttab            ##创建并编辑加密文件
解密后的设备管理文件 设备 加密字符存放文件
hello /dev/vdb1 /root/hellopasswd
2 vim /root/hellopasswd ##创建并编辑设备管理文件的解密字符
解密字符
3 chmod 600 /root/hellopasswd ##赋予设备管理文件root的权限
4 cryptsetup luksAddKey(K是大写) /dev/vdb1 /root/hellopasswd
5 vim /etc/fastab ##编辑挂载文件
6 /dev/mapper/hello /mnt xfs defaults 0 0(不检测不备份)
7 reboot ##重启进行验证

Linux系统磁盘管理

Linux系统磁盘管理
3 加密清除

1 vim /etc/fstab           ##注释挂载文件
2 > /etc/crypttab ##清空加密管理文件
3 rm -fr /root/hellopasswd ##删除设备设备管理文件的解密字符
4 umount /mnt/ ##取消挂载(如果出现挂载目录正忙,用fuser -kvm /mnt(挂载目录)杀死进程,再取消挂载)
5 cryptsetup close hello ##关闭加密管理文件
6 mkfs.xfs /dev/vdb1 ##格式化vdb1

三、磁盘配额

1 mount -o usrquota /dev/vdb1 /mnt   ##创建并挂载
2 quotaon -uv /dev/vdb1 ##激活配额功能
3 edquota -u sutent ##给student用户磁盘配置
4 dd if=/dev/zero if=/mnt/file bs=1M count=500
(如果无法打开,先赋予/mnt满权限 ,chmod 777 /mnt)
5 quota -u username ##查看用户的磁盘配额

Linux系统磁盘管理

四、磁盘阵列

磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。
磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。[1]
磁盘阵列还能利用同位检查(Parity Check)的观念,在数组中任意一个硬盘故障时,仍可读出数据,在数据重构时,将数据经计算后重新置入新硬盘中。

madadm -C(大写) /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3}
-C创建
-a yes 从没有的创建 -l
级别,只有0(同时录入,吞吐量大,适合网页输出),1(同时分开写速度快,适合贴吧、论坛键入式),5(吞吐量和速度都快)
-n 用几块盘创建
-x闲置块数(备用)

>

创建磁盘阵列

1 fdisk /dev/vdb
2 madadm -C(大写) /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{1..3} -C创建 -a yes 从没有的创建 -l 级别,只有0(同时录入,吞吐量大,适合网页输出),1(同时分开写速度快,适合贴吧、论坛键入式),5(吞吐量和速度都快) -n 用几块盘创建 -x闲置块数(备用) /dev/vdb{1..3}
3 mkfs.xfs /dev/md0 ##格式化
4 mount /dev/md0 /mnt/ ##挂载
5 watch -n 1 "cat /proc/mdstat ; df -h /mnt" ##监控命令
相关参数
mdadm -D /dev/md0 ##查看磁盘状态
mdadm /dec/md0 -f /dev/vdb2 ##破坏磁盘
mdadm /dev/md0 -r /dev/vdb2 ##删除磁盘
mdadm /dev/md0 -a /dev/vdb2 ## 增加磁盘

删除磁盘阵列

umont /dev/md0           ##取消挂载
mdadm -S(大写) /dev/md0 ##停止RAID
fisk /dev/vdb ##删除分区
partprobe ##同步分区信息表
cat /proc/partitions ##查看分区情况