linux学习笔记(6)磁盘管理

linux学习笔记(6)磁盘管理


文章目录

  6.1磁盘命名

  6.2分区方式

  6.3磁盘管理

    6.3.1基本分区
    6.3.2逻辑卷LVM
    6.3.3交换分区管理Swap


6.1磁盘命名

kernel对不同接口硬盘进行不用命名方式

  1. SATA (串口)

/dev/sda

/dev设备文件目录
sda是一个文件
s代表sata就是串口,一个类型
d代表磁盘
a代表第一块 b代表第二块
  1. IDE(并口) 淘汰

6.2分区方式

  1. MBR (主引导记录,Master Boot Record)

是位于磁盘最前面的一段引导代码。支持最大的磁盘容量是2TB。设计时分配4个分区,如果希望超过4个分区,需要放弃主分区,改为扩展分区和逻辑分区。

  1. 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)

在这里插入图片描述


  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值