linux学习笔记(6)磁盘管理
文章目录
6.1磁盘命名
6.2分区方式
6.3磁盘管理
6.3.1基本分区
6.3.2逻辑卷LVM
6.3.3交换分区管理Swap
6.1磁盘命名
kernel对不同接口硬盘进行不用命名方式
- SATA (串口)
/dev/sda
/dev设备文件目录
sda是一个文件
s代表sata就是串口,一个类型
d代表磁盘
a代表第一块 b代表第二块
- IDE(并口) 淘汰
6.2分区方式
- MBR (主引导记录,Master Boot Record)
是位于磁盘最前面的一段引导代码。支持最大的磁盘容量是2TB。设计时分配4个分区,如果希望超过4个分区,需要放弃主分区,改为扩展分区和逻辑分区。
- GPT(全局唯一标识分区表,GUIDPartition Table)
是一个实体硬盘的分区表的结构布局标准 ,GPT支持大于2T的硬盘,能够支持128个分区。
6.3磁盘管理
6.3.1基本分区
添加磁盘
VMWARE上面增加5GB的磁盘
基本步骤
- 分区(MBR或者GPT)
- 格式化 / 文件系统Filesystem
- 挂载mount
1、查看磁盘信息
ll /dev/sd*
注释:sda是系统盘,sdb、sdc…相当于购买的新磁盘
lsblk //列出块状设备
2、创建分区
- 启动分区工具
fdisk /dev/sdb
- 进入会话模式
5GB的磁盘–5x1024x1024x1024=5368709120B 以512B为一个单位 因此扇区(2048,10485759)
输入分区大小+2G后回车 实际环境根据磁盘划分,如4T磁盘,可以分500G一个分区。
*说明:选择磁盘分区结束的扇区,即分区大小。
最后输入 W 保存分区信息
- 刷新分区表
partprobe /dev/sdb
// partition probe
- 查看分区结果
fdisk -l /dev/sdb
3、创建文件系统
mkfs.ext4 /dev/sdb1
//make file system 创造文件系统 extend4 文件系统类型(扩展文件系统第四代)
// /dev/sdb1 第二块串口硬盘的第一个分区,准备格式化
//写法2:mkfs -t ext4 /dev/sdb2
*新创建的分区,sdb2,sdb3都要格式化
*剩下的3G不可以使用
4、挂在mount
mkdir /mnt/disk1 //创建挂载点,一个分区一个挂载点
mount -t ext4 /dev/sdb1 /mnt/disk1
// mount 挂载 -t 文件系统类型 ext4 把/dev/sdb1(分区形式文件)挂载/mnt/disk1上
5、查看挂载信息
df -hT //查看放的文件在哪个磁盘上面
/mnt/disk1 以后就是一个磁盘,2GB
分区数目
- 如果超过4个分区,则无法创建(MBR),分区数量不够,不能扩展,使用MBR,3主+1扩展(N个逻辑)
- 扩展分区:用户主动放弃一个主分区,设置为扩展分区,内部结构为逻辑分区
- p查看分区信息
- sdb4只有512B且不能挂载,并且数据不放在sdb4,放在后面的逻辑分区
6.3.2逻辑卷LVM
(Logical Volume Manager)补充知识
1、重启命令
- 如果分区没有刷出来可以进行重启
reboot
init 6
2、磁盘满的状态下写入
- 先将磁盘写满
dd命令来自于英文词组“disk dump”的缩写,其功能是用于拷贝及转换文件。使用dd命令可以按照指定大小的数据块来拷贝文件,并在拷贝的过程中对内容进行转换。
dd if=/dev/zero of=/mnt/disk4/1.txt bs=1M count=1000
/dev/zero代表什么东西?
有一些特殊的设备文件。例如/dev/zero文件代表一个永远输出 0的设备文件,使用它作输入可以得到全为空的文件。因此可用来创建新文件和以覆盖的方式清除旧文件。下面使用dd命令将从zero设备中创建一个1M大小(bs决定每次读写1024KB,count定义读写次数为1000次),但内容全为0的文件。
- 再将/etc 下的文件写入/mnt/disk4
cp命令来自于英文单词copy的缩写,用于将一个或多个文件或目录复制到指定位置,亦常用于文件的备份工作。-r参数用于递归操作,复制目录时若忘记加则会直接报错,而-f参数则用于当目标文件已存在时会直接覆盖不再询问,这两个参数尤为常用。
**语法格式:**cp [参数] 源文件 目标文件
cp -rf /etc/ /mnt/disk4
核心特点
- 管理磁盘的一种方式,性质和基本磁盘无异,但可以随意扩张大小(只要有钱可以继续买物理硬盘)
- 术语:
- PV :物理卷(Physical volume)
- VG :卷组(Volume Group)
- LV : 逻辑卷(Logical Volume)
① 创建LVM
1、准备物理磁盘
2、将物理磁盘转成物理卷-PV
pvcreate命令的功能是用于创建物理卷设备。LVM逻辑卷管理器技术由物理卷、卷组和逻辑卷组成,其中pvcreate命令的工作属于第一个环节——创建物理卷设备。
**语法格式:**pvcreate 参数 物理卷
pvcreate /dev/sdf
3、创建卷组-VG
vgcreate命令的功能是用于创建卷组设备。LVM逻辑卷管理器技术由物理卷、卷组和逻辑卷组成,其中vgcreate命令的工作属于第二个环节——创建卷组设备。
卷组,顾名思义是将多个物理卷组成一个整体,屏蔽了底层物理设备细节,让用户在后续的逻辑卷创建工作后无需再考虑具体的硬件设备信息。
**语法格式:**vgcreate 参数 卷组
vgcreate vg1 /dev/sdf
4、创建逻辑卷-LV
lvcreate命令的功能是用于创建逻辑卷设备。LVM逻辑卷管理器技术由物理卷、卷组和逻辑卷组成,其中lvcreate命令的工作属于最后一个环节——创建逻辑卷设备。
设定逻辑卷容量可以使用-L参数直接写具体值,亦可以写-l参数指定PE个数,每个PE大小默认为4M,因此-L 400M和-l 100的效力是等价的。
语法格式 : lvcreate 参数 逻辑卷
lvcreate -L 4G -n lv1 vg1
//创建逻辑卷 -L大小(指定大小,单位M,G) -n卷名 vg1组名
5、创建文件系统并挂载
- 不能对/dev/sdf格式化,只有卷组和逻辑卷
- 注意:/dev/卷组名/逻辑卷名
mkfs.ext4 /dev/vg1/lv1
- 挂载
mkdir /mnt/lv1
mount /dev/vg1/lv1 /mnt/lv1
② VG管理
- 当卷组没有空间,进行卷组扩容
- 环境:/dev/vg1容量5G扩容到10G (超出物理磁盘容量)
目前使用已经为100%。
- 创建物理卷(PV),将PV增加到VG中(扩展VG)
pvs命令用于格式化输出物理卷信息报表,使用pvs命令仅能得到物理卷的概要信息。
vgs命令的作用是可以报告显示关于卷组的信息。通常一个分区或者一个硬盘就可以建立一个物理卷,将多个物理卷组合到一起,成为一个卷组。语法格式: vgs [参数] [卷组名]
注释:vg1的大小已经是9.99G(扩展成功)
③ LV扩容
1、lv扩容
- 先查看VG空间,观察VG是否有剩余空间。
- 扩容VG。
lvextend -L +4G /dev/vg1/lv1
2、FS扩容
resize2fs /dev/vg1/lv1
//在观察df -hT的分区大小
LVM优势
----大系统使用LVM的益处:在使用很多硬盘的大系统中,使用LVM主要是方便管理、增加了系统的扩展性。用户/用户组的空间建立在LVM上,可以随时按要求增大,或根据使用情况对各逻辑卷进行调整。当系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。同样,使用LVM可以在不停服务的情况下。把用户数据从旧硬盘转移到新硬盘空间中去。
————————————————
版权声明:本文为CSDN博主「小白网管之路」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44297303/article/details/87065544
6.3.3交换分区管理Swap
交换分区swap就是一个普通的分区
我们在安装系统的时候已经建立了 swap 分区。swap 分区通常被称为交换分区,这是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。
也就是说,当内存不够用时,我们使用 swap 分区来临时顶替。这种“拆东墙,补西墙”的方式应用于几乎所有的操作系统中。
使用 swap 交换分区,显著的优点是,通过操作系统的调度,应用程序实际可以使用的内存空间将远远超过系统的物理内存。由于硬盘空间的价格远比 RAM 要低,因此这种方式无疑是经济实惠的。当然,频繁地读写硬盘,会显著降低操作系统的运行速率,这也是使用 swap 交换分区最大的限制。
相比较而言,Windows 不会为 swap 单独划分一个分区,而是使用分页文件实现相同的功能,在概念上,Windows 称其为虚拟内存,从某种意义上将,这个叫法更容易理解。因此,初学者将 swap 交换分区理解为虚拟内存是没有任何问题的。
具体使用多大的 swap 分区,取决于物理内存大小和硬盘的容量。一般来讲,swap 分区容量应大于物理内存大小,建议是内存的两倍,但不超过 2GB。但是,有时服务器的访问量确实很大,有可能出现 swap 分区不够用的情况,所以我们需要学习 swap 分区的构建方法。
————转自http://c.biancheng.net/view/907.html
作用
- “提升” 内存容量,方式OOM(Out Of Memory)
- 设置交换分区的大小为内存的2倍
生产环境下:
- 4GB~16GB内存的系统:4GB交换空间;
- 16GB~64GB内存的系统:8GB交换空间;
- 64GB~256GB内存的系统:16GB交换空间;
查看当前的交换分区
free -m //以MB位单位显示内存使用量信息:
- 系统安装时在sda上面分了2G给Swap
lsblk
增加交换分区
1、准备分区
- 用/dev/sdc磁盘划分出1G交换分区
fdisk /dev/sdc
- 划分分区后,将类型设置为82(输入t)
- 输入82设置为swap类型
2、格式化
- 刷新分区信息
partprobe /dev/sdc
ll /dev/sdc*
//partprobe命令用于重读分区表,将磁盘分区表变化信息通知内核,请求操作系统重新加载分区表。如果删除文件后,仍然提示占用空间,可以用partprobe在不重启的情况下重读分区 。
- 格式化
mkswap /dev/sdc1
3、挂载
- swap + on
swapon /dev/sdc1
//swapoff
4、验证
- 查看增加后的交换分区是不是变大了
free -m
free命令的功能是显示系统内存使用量情况,包含物理和交换内存的总量、使用量和空闲量情况。
注释:已经把sdc的一个分区放到swap上
5、取消挂载
umount命令来自于英文单词unmount的缩写,其功能是用于卸载文件系统。与mount挂载命令需要同时提供设备名与挂载目录不同,umount卸载命令只需要提供设备名或挂载目录之一即可。
umount /dev/sdb1
- 先用mount挂载到 /mnt/disk1上,在disk1上面创建file1~file5
- 查看disk1是否可进入
umount以后,用ls指令发现无法查看disk1
重新挂载后,则发现依然可以看到file1~file5。挂载的文件夹可以理解为U盘的入口,如果取消挂载了相当于U盘拔下来了(绝对路径没有了)。
- 文件目录结构问题
此时/dev/sdb1挂载在/mnt/disk1上,可以看到file1~file5
若此时umount /dev/sdb1 再创建file6~file10,则此时创建的file6-10为/dev/sda上的文件
验证:
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 974M 0 974M 0% /dev
tmpfs tmpfs 991M 0 991M 0% /dev/shm
tmpfs tmpfs 991M 11M 980M 2% /run
tmpfs tmpfs 991M 0 991M 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 5.0G 13G 30% /
/dev/sda1 xfs 1014M 172M 843M 17% /boot
tmpfs tmpfs 199M 32K 199M 1% /run/user/0
/dev/sr0 iso9660 4.4G 4.4G 0 100% /run/media/root/CentOS 7 x86_64
[root@localhost ~]# ls /mnt/disk1
[root@localhost ~]# touch /mnt/disk1/file{6..10}
[root@localhost ~]# ls /mnt/disk1
file10 file6 file7 file8 file9
[root@localhost ~]# mount /dev/sdb1 /mnt/disk1
[root@localhost ~]# ls /mnt/disk1
file1 file2 file3 file4 file5 lost+found
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# ls /mnt/disk1
file10 file6 file7 file8 file9
- 运行截图如下:
- 理解结构示意图:
目录和磁盘的关系,相当U盘插在电脑上时,创建的文件在U盘上,拔下来后文件在电脑上;(图中红色框为sda)