(1)磁盘管理:是一项计算机使用时的常规任务,它是以一组磁盘管理应用程序的形式提供给用户的;它们位于"计算机管理"控制台中.它包括查错程序和磁盘碎片整理程序以及磁盘整理程序;Linux磁盘管理好坏关系到整个Linux系统的性能问题。
(2)磁盘分区方式
####①MBR分区划分####
MBR分区时,它由三个部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节,偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序;第二部分是Partition table区(DPT分区表),占64个字节;第三部分是Magic number,占2个字节。它由三个部分组成,主引导记录MBR、硬盘分区表DPT和硬盘有效标志。在总共512字节的主引导扇区里MBR占446个字节,偏移地址0000H–0088H),它负责从活动分区中装载,并运行系统引导程序;第二部分是Partition table区(DPT分区表),占64个字节;第三部分是Magic number,占2个字节。(主分区存储信息;拓展分区存储逻辑分区的信息)
其中:主引导记录(Master Boot Record,缩写:MBR),MBR早在1983年IBM PC DOS 2.0中就已经提出,又叫做主引导扇区。之所以叫“主引导记录”,是因为它是存在于驱动器开始部分的一个特殊的启动扇区。这个扇区包含了已安装的操作系统的启动加载器和驱动器的逻辑分区信息。是计算机开机后访问硬盘时所必须要读取的首个扇区,它在硬盘上的三维地址为(柱面,磁头,扇区)=(0,0,1)。
缺点: (1)在MBR分区表中,一个分区最大的容量为2.2T;
(2)最多有4个主分区;
####② 设定分区方式为gpt ####
全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区结构。它的推出是和UEFI BIOS相辅相成的,GPT首要的任务就是突破了2.2T分区的限制,最大支持18EB的分区。
功能 | 命令 | 注释 |
---|---|---|
1. 本地存储设备的识别 | 注意:查看系统真实存在的硬盘设备,看到的不一定是系统识别的存在的,不一定是识别的;识别的,不一定是使用的;使用的,不一定是正在用的;这三个都不一样,均用不同的命令去查看;系统真实存在的不一定能被识别,能识别的不一定能被用,能用的不一定是正在用 | |
fdisk -l | ##查看系统真实存在的设备 | |
cat /proc/partitions | ##查看被系统已经识别的设备 | |
blkid | ## 查看系统可以使用的设备 | |
df | ##查看系统正在挂载使用的设备 | |
1.1对于特定的磁盘进行操作 | ||
(1) 打开磁盘 | fdisk /dev/vdb | #### 对于特定的磁盘进行操作 |
(2)进行修改 | m | ##帮助 |
d | ##删除,注意删除磁盘内的分区需要在选定的磁盘内进行,而不能 fdisk /dev/sdb1 | |
(type)p/e | ##选择主分区还是拓展分区 | |
n | ##新建分区,注意:新建的时候定义分区的大小需要+n M/K/G,要不然会出现out of value | |
l | ####列出系统可用的分区类型 | |
p | ####显示分区 | |
q | ##不保存退出 | |
w | ####保存更改到分区表中 | |
wq | ##保存退出 | |
t | ##修改分区功能id | |
a | ##toggle a bootable flag | |
b | ## edit bsd disklabel | |
g | ##create a new empty GPT partition table | |
G | ## create an IRIX (SGI) partition table | |
m | ##print this menu | |
o | ##create a new empty DOS partition table | |
s | ## create a new empty Sun disklabel | |
u | ## change display/entry units | |
v | ## verify the partition table | |
x | ## extra functionality (experts only) | |
(3) (terminal) | partprobe | ####同步分区表 |
2.设备的挂载和卸载 | ||
2.1设备名称 | ## | |
/dev/xdx | ##包括:/dev/hd0;/dev/hd1; /dev/sda; /dev/sdb; /dev/sda1; /dev/sda2; /dev/sdb1 | |
/dev/sr0 | ##光驱 包括: /dev/cdrom | |
/dev/mapper/* | ##虚拟设备 | |
2.2.设备的挂载 | mount 设备目录 挂载点目录 | ##将一个东西挂载到另外一个地方,使它生效 |
mount -o ro 设备目录 挂载点目录 | ####只读挂载 | |
mount | ####查看挂载信息,只读还是可以读写 | |
mount -o remount,rw 设备目录 挂载点目录 | ####重新读写挂载 | |
2.3设备的卸载 | umount 设备目录 | ##卸载设备 |
2.4设备正忙 | umount /dev/sdb1 | ##/dev/sdb1: target is busy.the device is found by lsof(8)of fuser(1)有程序在使用此设备 |
solution1:(1) | 重新打开一个terminal | |
(2) | umount /dev/sdb1 | ##此时就可以直接卸载了 |
solution2:(1) | fuser -kvm /dev/sdb1 | ##查看使用并且强制解决使用 |
(2) | umount /dev/sdb1 | ##此时就可以直接卸载了 |
solution3:(1) | lsof /dev/sdb1 | ##查看使用情况 |
(2) | kill -9 pid | ##禁止进程 |
(3) | umount /dev/sdb1 | ## |
2.5设备的临时挂载&永久挂载 | ||
(1) | fdisk /dev/vdb2 | ##选择具体的分区进行操作,保存并退出 |
(2) (terminal) | partprobe | ####同步分区表 |
(3) (terminal) | cat /proc/partitions | ## ##查看系统识别的分区信息 |
(4) (terminal) | mkfs.xfs /dev/vdb1 | ####格式化 |
(5) (terminal) | mount /dev/vdb1 /mnt | ####临时挂载 |
(6)(terminal)① | vim /etc/fstab | ##永久挂载 |
② | devic mountpoint ftype defaults(mountpoint) 0 0>>>/dev/vdb1 /mnt xfs defaults 0 0 | ##编辑永久挂载的参数 :[1.设备] [2挂载点] [3文件系统][4.挂载参数][5是否备份.] [6.是否检测] |
(8) | mount -a | ###使/etc/fstab中记录的挂载策略生效 |
3.磁盘分区的两种形式 | ##注意:(1)vfat:linux和windows通用的文件格式;ext4:linux常用 | |
3.1mbr建立6个分区 (terminal) | fdisk /dev/vdb | 对于特定的磁盘进行操作 |
(1) | n >>>p >>>1 | ##新建主分区1 |
(2) | n >>>p >>>2 | ##新建主分区2 |
(3) | n >>>p >>>3 | ####新建主分区3 |
(4) | n >>>e >>>4 | ##新建拓展分区4 |
(5) | n >>>5 | ##新建逻辑分区5 |
(6) | n >>>6 | ##新建逻辑分区6 |
(7) | wq | ## |
(8) (terminal) | partprobe | ####同步分区表 |
3.2 gpt建立4个分区并操作(安装文件系统) | ||
(1)主机(terminal) | virt-manager | ## |
(2) | ##给server添加第三块硬盘vdc | |
(3) server(terminal) | fdisk -l | ##查看实验资源 |
(4) | parter /dev/vdc | ##对于特定的磁盘进行操作 |
(5) (parted) | mklabel gpt | ##添加分区标记 |
(6)(parted) | mkpart primary 0% 50% | ##分区的范围 |
(7) | ##查看信息 | |
(8)(parted) | mkpart primary 51% 60% | ##建立主分区2 |
(9)(parted) | mkpart primary 61%70% | ##建立主分区3 |
(10)(parted) | mkpart primary 71% 80% | ####建立主分区4 |
(11) (terminal) | partprobe | ####同步分区表 |
(11.1) (terminal) | mkfs.ext4 /dev/vdc1 | ####格式化 |
3.2.1 临时挂载(12)(terminal) | mount /dev/vdc1 /mnt | ##对新建的分区进行挂载 |
(13)(terminal) | touch /mnt/westos{1…3} | ##进行操作 |
(14)(terminal) | umount /mnt/ | ##卸载 |
(15)(terminal) | ls /mnt/ | less |
(16)(terminal) | mount /dev/vdc1 /mnt | ##重新挂载 |
(17)(terminal) | ls /mnt/ | less |
3.2.2(永久挂载)(18) | vim /etc/fstab | ##编辑挂载信息表 |
(19) | devic mountpoint ftype defaults(mountpoint) 0 0>>>/dev/vdc1 /mnt xfs defaults 0 0 | ##编辑永久挂载的参数 :[1.设备] [2挂载点] [3文件系统][4.挂载参数][5是否备份.] [6.是否检测] |
(20) | mount -a | ###使/etc/fstab中记录的挂载策略生效 |
4.swap分区的管理 | 注意:swap分区建立是当内存不够用时用这个分区 | |
4.1.新建临时swap分区(1) | free -m | |
(2) | fdisk -l | ##查看磁盘信息 |
(3) | fdisk /dev/vdb | ##选定磁盘 |
(4) | n (新建)>>>p(分区类型)>>2(分区2)>>>+1G(大小)>>>t(转化)>>> 2(分区)>>>L(列表)>>> wq | ##82代表swap分区, |
(5) | partprobe | ##更新分区表 |
(6) | mkswap /dev/vdb2 | ##格式化 |
(7) | swapon -a /dev/vdb2 | ##开启swap分区 |
(8) | swapoff /dev/vdb2 | ####关闭swap分区 |
(9) | swapon -a /dev/vdb1 -p 5 | ##设置临时优先级为5 |
(10) | swapon -s | ##查看开启的swap的信息 |
4.2.永久的swap分区 | vim /etc/fstab | ##/dev/vdb1 swap(类型) swap(用途) defaults 0 0 |
vim /etc/fstab >>> /dev/vdb1 swap swap defaults,pri=5 0 0 | ## ##设置永久优先级为5 | |
4.3 swap分区的删除 | vim /etc/fstab | ##删除这个文件里面的东西,也可以注释 |
5.磁盘加密&自启动 | ## 磁盘加密,是指将计算机用户的磁盘进行加密,防止信息泄漏。通过分区加密启用数据保密LUKS ( Linux 统一密钥设置)是标准的设备加密格式。 LUKS 可以对分区或卷进行加密。必须首先对加密的卷进行解密,才能挂载其中的文件系统。 | |
5.1磁盘加密 | ||
(1) | fdisk -l | ##查看磁盘信息 |
(2) | fdisk /dev/vdb | ##选定磁盘 |
(2) | partprobe | ##更新分区表 |
(3) | cryptsetup luksFormat /dev/vdb3 | ## 给自己的硬盘设备加密,设置一个有强度的密码 |
(4) | blkid | ## 查看系统的设备 |
(5) | cryptsetup open /dev/vdb3 westos3 | ## 开放这个设备,westos(任意名字) ,输入YES |
(6) | ll /dev/mapper/westos3 | ## 查看虚拟设备 |
(7) | mkfs.xfs /dev/mapper/westos3 | ## 格式化这个虚拟的设备 |
(8) | mount /dev/mapper/westos3 /mnt/ | ## 挂载这个设备(加密之后挂载就需要密码) |
(9) | touch /mnt/file{1…10} | ## 任意操作 |
(10) | umount /mnt/ | ## 不想看了就直接卸载(卸载之后就可以重新加密设置别的密码了,但是直接改密码会破坏原来的加密文件) |
(11) | cryptsetup close westos3 | ## 关掉虚拟设备 |
5.2加密设备的永久挂载 | 当存储设备是加密设备时,系统启动是不能自动挂载的,因为没有人为它输入密码,因此我们要使加密设备自动挂载,使加密设备开机挂载就能用 | |
(1) | vim /etc/crypttab | ## 挂载策略 ,打开虚拟文件 |
(2) | westos3 /dev/vdb3 /root/passwd | ##编辑虚拟文件 注意:/dev/mapper已经包含 |
(3) | vim /root/passed | ## 打开密码文件 |
(4) | ********** | ##高强度的密码(同前面) |
(5) | chmod 600 /root/passwd | ##修改密码文件的权限 |
5.3把密码添加到LUKS中, 让密码文件生效 | ||
(1) | cryptsetup luksAddKey /dev/vdb3 /root/passwd | ## 把密码添加到LUKS中, 让密码文件生效 |
(2) | vim /etc/fstab | ##打开挂载文件 |
(3) | /dev/mapper/westos3 /cryptDir xfs defaults 0 0 | ## 让文件生效 |
(4) | reboot | ##开机自动加载 |
5.4加密设备自动挂载的删除 | ||
(1) | vim /etc/fstab | ##注释自动挂载的内容 |
(2) | vim /etc/crypttab | ## 注释虚拟文件的内容 |
(3) | cryptsetup luksRemoveKey /dev/vdb1 /root/password | ##删除密码文件 |
(4) | umount /cryptDir | ## 彻底删除加密设备(只删设备,设备里面的文件会被破坏,因为没有办法进行解密) |
(5) | cryptsetup close westos3 | ## 断掉设备 |
(6) | mkfs.xfs /dev/vdb1 -f | ## 强制格式化 |
(7) | fdisk /dev/vdb3 | ##直接删除所有的 |
(8) | partprobe | ## 初始化分区设备 |
6.磁盘阵列 | ## 磁盘阵列(Redundant Arrays of Independent Drives,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。磁盘阵列是由很多独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提高整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上。 | |
(1) | fdisk -l | ##查看磁盘信息 |
(2) | fdisk /dev/vdb | ##选定磁盘 |
(3) | n p 2>>> n p 3>>>n e 4>>>n 5 >>>wq | ## 建立三个分区(2.3.5) |
(4) | partprobe | ##更新分区表 |
(5) | mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 /dev/vdb{2,3,5} | ## 生成磁盘阵列 ;# -C: 创建磁盘阵列 -a: quto, 如果raid不存在, 则自动创建 -l: level, raid的等级(raid0(均分), raid1<备份/镜像>) -n: 当前激活的设备个数; -x: 当前空闲的设备个数 |
mkfs.xfs /dev/md0 | ## 格式化磁盘阵列 | |
mdadm -f /dev/md0 /dev/vdb3 | ## 让磁盘发生错误, 破坏磁盘 | |
mdadm -D /dev/md0 | ## 查看raid的状态 | |
mdadm -r /dev/md0 /dev/vdb3 | ## 移出磁盘 | |
mdadm -a /dev/md0 /dev/vdb1 | ## 添加磁盘 | |
mdadm -a /dev/md0 /dev/vdb1 | ## 添加磁盘 | |
watch -n 1 "mdadm命令 | tail -n 7" | |
7.磁盘配额 | ##磁盘配额是一种磁盘空间的管理机制,使用磁盘配额可限制用户或组在某个特定文件系统中所能使用的最大空间。Linux系统是多用户任务操作系统,在使用系统时,会出现多用户共同使用一个磁盘的情况,如果其中少数几个用户占用了大量的磁盘空间,势必压缩其他用户的磁盘的空间和使用权限。因此,系统管理员应该适当的开放磁盘的权限给用户,以妥善分配系统资源。 | |
7.1(easy:xfs格式:临时配额)(7.1.1)磁盘分区(1) | fdisk -l | ##查看磁盘信息 |
(2) | fdisk /dev/vdc | ##选定磁盘 |
(3) | n p +1G >>> n p +2G >>>wq | ## 建立两个分区并保存 |
(4) | partprobe | ## 同步分区表 |
(7.1.2) 分区格式化 | mkfs.xfs /dev/vdc2 | ##格式化 |
(7.1.3)设备挂载到公共目录:(1) | mkdir /pub | ##建立挂载目录 |
(2) | mount -o usrquota /dev/vdc2 /pub | ## 进行挂载 |
(3) | chmod 1777 /pub | ## 修改权限 |
(7.1.4) 激活磁盘配额(1) | quotaon -uv /dev/vdc2 | ## 激活磁盘配额 |
(7.1.5) 配置磁盘配额信息(1) | edquota -u student | ## 选定用户 |
Disk quotas for user student (uid 1000):>>>Filesystem blocks soft hard inodes soft hard>>> /dev/vdc2 0 10240 20480 0 5 10 | ##1024k=1M 10240k=10M 102400k=100M 20480k=20M ,hard(第一个):最大容量;hard(第二个):最大访问次数 ;soft:建议 | |
(7.1.6) 测试 (1) | su - student | ## 切换用户 |
(2) | touch file{1…3} | ##hard范围内 |
(3) | touch file{1…100} | ## hard范围外 |
(4) | dd if=/dev/zero of=/pub/file bs=1M count=10 | ## ##hard范围内(if-> input file, of-> output file, bs-> block size(每块大小), count提取数据块的个数) |
(5) | dd if=/dev/zero of=/pub/file bs=1M count=30 | ####hard范围外 |
(6) | quota | ## *查看当前用户的磁盘使用情况 ;Disk quotas for user student (uid 1000): >>>Filesystem blocks quota limit grace files quota limit grace>>> /dev/vdc2 102400 0 102400 1 0 0 |
7.2(hard:ext4格式:永久配额) :(1) | exit | ## 退出student用户 |
(2) | umount /pub | ## 卸载 |
(3) | mkfs.ext4 /dev/vdc2 | ##格式化 |
(4) | mount -o usrquota /dev/vdc1 /pub | ## 进行挂载 |
(5) | chmod 1777 /pub | ## 修改权限 |
(6) | quotaoncheck -u /dev/vdc2 | #检查磁盘配额 |
(7) | quotaon -uv /dev/vdb2 | ## 激活磁盘配额;激活则显示turn on |
(8) | mount | less |
(9) | vim /etc/fstab | ## 编写挂载文件 |
(10) | /dev/vdc2 /pub ext4 defaults,usrquota 0 0 | ##编写挂载文件 |
(11) | mount -a | ##激活 |
Result1 本地存储设备的识别(真机)
Result2.1 挂载&卸载(真机)
Result2.2 临时挂载&永久挂载(server)
Result3.1:(mbr )6个分区的建立(server)
Result3.2:(gpt )4个分区的建立(真机+server)
Result4:swap分区的管理(server)
Result5.1:磁盘加密(server)
Result5.2:删除加密磁盘(server)
Result6:磁盘阵列(server)
Result7.1:磁盘配额(desktop:xfs(临时))
Result7.2:磁盘配额(desktop:ext4(永久))