linux磁盘管理(识别硬盘 > 分区规划 > 格式化 > 挂载使用),交换空间(虚拟内存)!
一块硬盘的“艺术”之旅(硬盘空间使用,经历的步骤)
识别硬盘 => 分区规划 => 格式化 => 挂载使用
一、识别硬盘
[root@localhost ~]# lsblk #列出当前系统识别的硬盘
分区规划
•分区方案(分区模式): MBR与GPT
•MBR/msdos分区模式
–分区类型:主分区、扩展分区(占用所有剩余空间)、逻辑分区
–最多只能有4个主分区
–扩展分区可以没有,至多有一个
–1~4个主分区,或者 3个主分区+1个扩展分区(n个逻辑分区)
–最大支持容量为 2.2TB 的磁盘
–扩展分区不能格式化,空间不能直接存储数据
–可以用于存储数据的分区:主分区与逻辑分区
二、分区规划
新增:redhat8以后fdisk可以用g直接进行GPT分区
例如:
[root@node1 ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.32.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): g Created a new GPT disklabel (GUID: 54207262-0C93-0244-960D-4DE2E818AC6C). Command (m for help):
fdisk分区模式
常用交互指令:
m 列出指令帮助
p 查看现有的分区表(存放分区信息的表格)
n 新建分区
d 删除分区
q 放弃更改并退出
w 保存更改并退出
[root@localhost ~]# fdisk /dev/sdb
n 创建新的分区----->分区类型 回车----->分区编号 回车---->起始扇区 回车----->在last结束时 +2G
p 查看分区表
n 创建新的分区----->分区类型 回车----->分区编号 回车---->起始扇区 回车----->在last结束时 +1G
w 保存并退出
[root@localhost ~]# lsblk
[root@localhost ~]# ls /dev/sdb[1-2]
1.关闭计算机添加新的硬盘
[root@localhost ~]# poweroff
[root@localhost ~]# lsblk
GPT 分区模式
•GPT,GUID Partition Table
–全局唯一标识分区表
–突破固定大小64字节的分区表限制
–最多可支持128个主分区,最大支持18EB容量
** 1 EB = 1024 PB = 1024 x 1024 TB
•parted常用分区指令
–help //查看指令帮助
–mktable gpt //建立指定模式分区表
–mkpart 分区的名称 文件系统类型 start end
//指定大小或百分比%作为起始、结束位置
–print //查看分区表
–rm 序号 //删除指定的分区
–quit //退出交互环境
1.非交互式
//使用parted命令对/dev/vde硬盘设置分区表类型,类型为GPT格式
1)parted /dev/vde mktable gpt
信息: You may need to update /etc/fstab.
//注意:这里的提示是正常的提示信息(记住这里有提示是对的)
2)parted /dev/vde mkpart primary 0% 10%
mkpart指令代表创建分区,primary代表主分区。
...................................
parted /dev/vde mkpart primary *% 100%
//查看/dev/vde的分区信息
3)parted /dev/vde
(parted)
4)(parted) unit GB print
2.交互式
•parted进行分区
[root@localhost ~]# parted /dev/sdc
(parted) mktable gpt #指定分区模式
(parted) mkpart #划分新的分区
分区名称? []? haha #随意写
文件系统类型? [ext2]? #随意写,不会进行格式化
起始点? 0
结束点?5G
忽略/Ignore/放弃/Cancel? Ignore #选择忽略,输入i(tab)补全
(parted) print #查看分区表信息
(parted) unit GB #使用GB作为单位
(parted) print
(parted) mkpart #划分新的分区
分区名称? []? haha
文件系统类型? [ext2]?
起始点? 5G #为上一个分区的结束
结束点? 100%
(parted) print
(parted) quit
[root@localhost ~]# lsblk
三、格式化:赋予空间文件系统的过程
文件系统:数据在空间中存放的规则
Windows常见的文件系统:NTFS FAT(兼容性强)
Linux常见的文件系统:ext4(RHEL6) xfs(RHEL7) FAT
]# ls /dev/sdb[1-2]
/dev/sdb1 /dev/sdb2
]# mkfs.(tab)(tab) #连续按两次tab键
]# mkfs.ext4 /dev/sdb1 #格式化文件系统ext4
]# mkfs.xfs /dev/sdb2 #格式化文件系统xfs
]# blkid /dev/sdb1 #查看文件系统类型
]# blkid /dev/sdb2 #查看文件系统类型
四、挂载使用
]# mkdir /mypart1
]# mount /dev/sdb1 /mypart1
]# df -h | grep sdb #显示正在挂载的设备信息
]# mkdir /mypart2
]# mount /dev/sdb2 /mypart2
]# df -h | grep sdb #显示正在挂载的设备信息
总结:
1.识别硬盘 lsblk
2.划分分区 MBR分区模式 fdisk
3.格式化文件系统 mkfs.xfs mkfs.ext4 blkid
4.挂载使用 mount df -h
五、开机自动挂载/etc/fstab
–设备路径 挂载点 文件系统类型 参数 备份标记 检测顺序
[root@localhost ~]# blkid /dev/sdb1 #查看文件系统类型
[root@localhost ~]# blkid /dev/sdb2 #查看文件系统类型
[root@localhost ~]# vim /etc/fstab #vmware虚拟机
/dev/sdb1 /mypart1 ext4 defaults 0 0
/dev/sdb2 /mypart2 xfs defaults 0 0
[root@localhost ~]# vim /etc/fstab #KVM虚拟机
/dev/vdb1 /mypart1 ext4 defaults 0 0
/dev/vdb2 /mypart2 xfs defaults 0 0
[root@localhost ~]# umount /mypart1 #卸载
[root@localhost ~]# umount /mypart2 #卸载
[root@localhost ~]# df -h | grep mypart
[root@localhost ~]# mount -a
检测/etc/fstab开机自动挂载配置文件,格式是否正确
检测/etc/fstab中,书写完成,但当前没有挂载的设备,进行挂载
[root@localhost ~]# df -h | grep mypart
如果/etc/fstab文件有误:修复办法
故意写错:
[root@localhost ~]# vim /etc/fstab #vmware虚拟机
/dev/sdb1 /mypart1 ext4 defaults 0 0
/dev/sdb3 /mypart2 xfs defaults 0 0
[root@localhost ~]# vim /etc/fstab #KVM虚拟机
/dev/vdb1 /mypart1 ext4 defaults 0 0
/dev/vdb3 /mypart2 xfs defaults 0 0
[root@localhost ~]# reboot
1.输入root的密码(只有一次输入密码的机会)
2.修改/etc/fstab文件内容
3.即可正常开机
六、综合分区
[root@localhost ~]# fdisk /dev/sdb
p 查看分区表
n 创建主分区--->回车--->回车--->回车--->在last结束时 +2G
p 查看分区表
n 创建扩展分区 --->回车--->起始回车--->结束回车 将所有剩余空间给扩展分区
p 查看分区表
n 创建逻辑分区----->起始回车------>结束+2G
n 创建逻辑分区----->起始回车------>结束+2G
p 查看分区表
w 保存并退出
[root@localhost ~]# lsblk
[root@localhost ~]# partprobe #刷新分区表
Warning: 无法以读写方式打开 /dev/sr0 (只读文件系统)。/dev/sr0 已按照只读方式打开。
[root@localhost ~]# lsblk
总结
1.识别硬盘 lsblk
2.分区规划 fdisk MBR分区模式
3.刷新分区表 partprobe
4.格式化文件系统 mkfs.ext4 mkfs.xfs blkid
5.挂载 mount /etc/fstab mount -a df -h
/dev/sda5表示含义:SCSI接口设备第一块的第一个逻辑分区
七、交换空间(虚拟内存)
20G硬盘进行(MBR分区模式)规划分区
划分2个2G的主分区;1个3G的主分区; 2个4G的逻辑分区
[root@localhost ~]# fdisk /dev/sdd
n 创建主分区--->回车--->回车--->回车--->在last结束时 +2G
n 创建主分区--->回车--->回车--->回车--->在last结束时 +2G
n 创建主分区--->回车--->回车--->回车--->在last结束时 +3G
p 查看分区表
n 创建扩展分区 --->回车--->起始回车--->结束回车 将所有剩余空间给扩展分区
p 查看分区表
n 创建逻辑分区----->起始回车------>结束+4G
n 创建逻辑分区----->起始回车------>结束+4G
p 查看分区表
w 保存并退出
[root@localhost ~]# lsblk
利用硬盘的空间,充当内存的空间
CPU----->内存----->硬盘
当物理内存占满了,CPU可以将内存的中数据,暂时放入交换空间中,缓解真实物理内存的压力
交换空间最好为内存的2倍,交换空间最大不会超过16G
方式一:利用硬盘分区制作交换空间
]# ls /dev/vdb7
]# mkswap /dev/vdb7 #格式化交换文件系统
]# blkid /dev/sdc7 #查看文件系统类型
]# swapon #查看交换空间组成的成员信息
]# swapon /dev/vdb7 #启用交换分区
]# swapon #查看交换空间组成的成员信息
]# free -m #查看交换空间的大小
[root@nb ~]# free -m total used free shared buff/cache available Mem: 991 458 220 2 311 346 Swap: 4095 495 3600
]# swapoff /dev/vdb7 #停用交换分区
]# swapon #查看交换空间组成的成员信息
]# free -m #查看交换空间的大小
[root@nb ~]# free -m total used free shared buff/cache available Mem: 991 458 219 2 313 347 Swap: 2047 494 1553
u 开机自动启用交换分区
[root@localhost ~]# vim /etc/fstab
/dev/vdb7 swap swap defaults 0 0
[root@localhost ~]# swapoff /dev/vdb7 #停用
[root@localhost ~]# swapon #查看交换空间组成的成员信息
[root@nb ~]# swapoff /dev/vdb7 [root@nb ~]# swapon NAME TYPE SIZE USED PRIO /dev/dm-1 partition 2G 494.2M -1
[root@localhost ~]# swapon -a #专门检测交换分区的书写
[root@localhost ~]# swapon #查看交换空间组成的成员信息
[root@nb ~]# swapon -a [root@nb ~]# swapon NAME TYPE SIZE USED PRIO /dev/dm-1 partition 2G 494.4M -1 /dev/vdb7 partition 2G 0B -2 [root@nb ~]#
方式二:利用文件方式
1.生成较大的文件
dd if=数据的源头 of=生成的文件 bs=每次读写数据的大小 count=次数
/dev/zero:拥有无限的数据
]# dd if=/dev/zero of=/opt/sw.txt bs=1M count=2048
]# ls -lh /opt/sw.txt
]# mkswap /opt/sw.txt
]# swapon /opt/sw.txt
swapon: /opt/sw.txt:不安全的权限 0644,建议使用 0600。
]# swapon
[root@nb ~]# mkswap /opt/sw.txt 正在设置交换空间版本 1,大小 = 2066428 KiB 无标签,UUID=7a1303df-b2bf-482a-86db-507e75227216 [root@nb ~]# swapon /opt/sw.txt swapon: /opt/sw.txt:不安全的权限 0644,建议使用 0600。 [root@nb ~]# swapon NAME TYPE SIZE USED PRIO /dev/dm-1 partition 2G 688.7M -1 /opt/sw.txt file 2G 0B -2
OVER