Linux系统及服务管理-存储管理

磁盘管理

磁盘简介

磁盘是存储计算机数据的一种媒介。
磁盘也分为机械硬盘、固态硬盘,不同类型应用场景也不一样。
在服务器中常见的磁盘是机械硬盘,他的优点在于发展时间长性能稳定,相对于固态硬盘价格也更加实惠。
磁盘分区类型分MBR与GPT
MBR:支持最大容量是2TB,设计时分配4个分区
GPT:支持大于2TB的硬盘,支持128个分区

管理磁盘

查看磁盘

在服务器中接入磁盘后,可通过命令查看ls /dev/sd*或lsblk
示例如下

[root@localhost ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb 
[root@localhost ~]# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda           8:0    0   20G  0 disk 
├─sda1        8:1    0    1G  0 part /boot
└─sda2        8:2    0   19G  0 part 
  ├─cs-root 253:0    0   17G  0 lvm  /
  └─cs-swap 253:1    0    2G  0 lvm  [SWAP]
sdb           8:16   0    5G  0 disk 
sr0          11:0    1  8.7G  0 rom  /run/media/root/CentOS-Stream-9-BaseOS-x86_64

创建分区

通过fdisk {写入需要分区的磁盘路径}指令进入分区会话模式
通过指令n进行创建,根据提示创建分区、分区号
创建后使用p查看此看磁盘创建状况,按w保存退出会话模式

[root@localhost ~]# fdisk /dev/sdb

欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

设备不包含可识别的分区表。
创建了一个磁盘标识符为 0x7101a571 的新 DOS 磁盘标签。

命令(输入 m 获取帮助):n
分区类型
   p   主分区 (0 primary, 0 extended, 4 free)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p)#回车默认按p创建主分区

将使用默认回应 p。
分区号 (1-4, 默认  1): 1		#选择分区
第一个扇区 (2048-10485759, 默认 2048): 
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-10485759, 默认 10485759): +1G

创建了一个新分区 1,类型为“Linux”,大小为 1 GiB。

命令(输入 m 获取帮助):p		#查看磁盘状态
Disk /dev/sdb:5 GiB,5368709120 字节,10485760 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x7101a571

设备       启动  起点    末尾    扇区 大小 Id 类型
/dev/sdb1        2048 2099199 2097152   1G 83 Linux

命令(输入 m 获取帮助):w		#保存创建
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。

格式化分区

使用命令mkfs.ext4 {输入已分区的磁盘分区路径}

[root@localhost ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
创建含有 262144 个块(每块 4k)和 65536 个inode的文件系统
文件系统UUID:dab6d53a-332f-4908-9c2f-b04f1e7197c7
超级块的备份存储于下列块: 
	32768, 98304, 163840, 229376

正在分配组表: 完成                            
正在写入inode表: 完成                            
创建日志(8192 个块)完成
写入超级块和文件系统账户统计信息: 已完成

挂载分区

在/mnt路径下创建挂载分区文件夹如:/mnt/fdisk1
创建后通过命令mount -t ext4 分区路径 挂载路径

[root@localhost ~]# mkdir /mnt/fdisk1
[root@localhost ~]# mount -t ext4 /dev/sdb1 /mnt/fdisk1

挂载后可通过df -hT指令查看挂载状况

[root@localhost ~]# df -hT
文件系统            类型      容量  已用  可用 已用% 挂载点
devtmpfs            devtmpfs  4.0M     0  4.0M    0% /dev
tmpfs               tmpfs     876M     0  876M    0% /dev/shm
tmpfs               tmpfs     351M  8.6M  342M    3% /run
/dev/mapper/cs-root xfs        17G  5.9G   12G   35% /
/dev/sda1           xfs      1014M  288M  727M   29% /boot
tmpfs               tmpfs     176M   92K  175M    1% /run/user/0
/dev/sr0            iso9660   8.7G  8.7G     0  100% /run/media/root/CentOS-Stream-9-BaseOS-x86_64
/dev/sdb1           ext4      974M   24K  907M    1% /mnt/fdisk1

上述挂载方式存在着每次重启电脑需要重启挂载
面对此问题可以通过修改自启动文件完成开机自动挂载
一、修改文件/root/.bashrc
添加指令mount -t ext4 /dev/sdb1 /mnt/fdisk1完成开机自动挂载
二、通过修改fstab也可进行自动挂载,但此功能存在着磁盘一旦拨出将影响系统启动,而在现实中存在着磁盘损坏的情况因此方法不建议使用

MBR磁盘分区能超过四个吗?

答案是可以的,在MBR有扩展分区,前提是主分区不能超过3个。
需要放弃一个主分区选择创建扩展分区。
扩展分区的同样需要格式化与挂载

逻辑卷LVM

什么是逻辑卷

逻辑卷是磁盘管理中的一种新技术,它的特点是可以任意扩张大小
简称LVM,全称Logical Volume Manager逻辑卷管理
物理卷简称PV,全称Physical Volume
卷组简称VG,全称Volume Group
逻辑卷简称LV,全称Logical Volume

创建逻辑卷

创建逻辑卷需分三步进行创建
首先通过指令pccreate {需要创建物理卷的磁盘路径}创建物理卷
其次通过指令vgcreate {卷组名称} {需要创建卷组的物理卷磁盘路径}创建卷组
创建卷组后/dev下将生成链接类型文件{卷组名称}
最后通过指令lvcreate -L {需要创建的容量大小,如200M} -n {创建的逻辑卷名称} {所使用卷组}创建逻辑卷
创建卷组后/dev/{卷组名称}下将生成链接类型文件{逻辑卷名称}
创建完成后可通过pvs、vgs、lvs分别查看创建状况
创建完成后还需格式化逻辑卷并挂载才可使用
示例如下

[root@localhost ~]# pgcreate /dev/sdc
bash: pgcreate: command not found...
[root@localhost ~]# pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created.
[root@localhost ~]# pvs
  PV         VG Fmt  Attr PSize   PFree
  /dev/sda2  cs lvm2 a--  <19.00g    0 
  /dev/sdc      lvm2 ---    5.00g 5.00g
[root@localhost ~]# vgcreate vg1 /dev/sdc
  Volume group "vg1" successfully created
[root@localhost ~]# vgs
  VG  #PV #LV #SN Attr   VSize   VFree 
  cs    1   2   0 wz--n- <19.00g     0 
  vg1   1   0   0 wz--n-  <5.00g <5.00g
[root@localhost ~]# lvcreate -L 200M -n lv1 vg1
  Logical volume "lv1" created.
[root@localhost ~]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root cs  -wi-ao---- <17.00g                                                    
  swap cs  -wi-ao----   2.00g                                                    
  lv1  vg1 -wi-a----- 200.00m                                                    
[root@localhost ~]# 

管理卷组

扩张卷组VG
首先创建新的物理卷,通过指令vgextend {需扩大容量的卷组名称} {用来扩张卷组的物理卷路径}
扩张逻辑卷lv
使用指令lvextend -L +{需要扩大的容量} {需要扩张逻辑卷的路径}
扩张后使用指令resize2fs {需要刷新的逻辑卷路径}刷新容量大小

[root@localhost dev]# lvextend -L +200M /dev/vg1/lv1
  Size of logical volume vg1/lv1 changed from 200.00 MiB (50 extents) to 400.00 MiB (100 extents).
  Logical volume vg1/lv1 successfully resized.
[root@localhost dev]# resize2fs /dev/vg1/lv1
resize2fs 1.46.5 (30-Dec-2021)
resize2fs: 超级块中的幻数有错 尝试打开 /dev/vg1/lv1 时
找不到有效的文件系统超级块。
[root@localhost dev]# lvs
  LV   VG  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root cs  -wi-ao---- <17.00g                                                    
  swap cs  -wi-ao----   2.00g                                                    
  lv1  vg1 -wi-a----- 400.00m                                                    
[root@localhost dev]# 

交换分区管理Swap

作用提升内存容量,防止OOM{Out of Mermory}

swap大小应该多少合适?

在正常环境下推荐设置为内存的两倍
在生产环境下
大于 4GB 而小于 16GB 内存的系统,最小需要 4GB 交换空间;
大于 16GB 而小于 64GB 内存的系统,最小需要 8GB 交换空间;
大于 64GB 而小于 256GB 内存的系统,最小需要 16GB 交换空间。
{内存的大小除于4}

交换分区增加和查看

使用指令free -m查看交换分区大小

[root@localhost ~]# free -m
               total        used        free      shared  buff/cache   available
Mem:            1750        1278          65          18         575         472
Swap:           2047          38        2009

使用fdisk {扩张所需硬盘}创建分区,过程略
划分分区后使用按t输入82修改分区类型
原因在老版本linux中swap交换分区的类型为82,在这里可以扩展使用,示例如下

[root@localhost ~]# fdisk /dev/sdd

欢迎使用 fdisk (util-linux 2.37.4)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):t
已选择分区 1
Hex 代码或别名(输入 L 列出所有代码):p
很多系统将类型 0 视为空闲空间。不建议设置类型为 0 的分区。

已将分区“Linux”的类型更改为“未知”。

命令(输入 m 获取帮助):t
已选择分区 1

Hex 代码或别名(输入 L 列出所有代码):82
已将分区“Empty”的类型更改为“Linux swap / Solaris”。

命令(输入 m 获取帮助):p
Disk /dev/sdd:5 GiB,5368709120 字节,10485760 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x6e0990a8

设备       启动  起点    末尾    扇区 大小 Id 类型
/dev/sdd1        2048 2099199 2097152   1G 82 Linux swap / Solaris

使用指令mkswap {分配的交换分区路径}格式化交换分区
使用指令swapon {分配的交换分区路径}扩张交换分区
示例如下,扩张后指令free -m可查看到扩张后的大小

[root@localhost ~]# mkswap /dev/sdd1
正在设置交换空间版本 1,大小 = 1024 MiB (1073737728  个字节)
无标签,UUID=2b5adfbf-3689-4d86-82d7-c851b2168e78
[root@localhost ~]# swapon /dev/sdd1
[root@localhost ~]# free -m
               total        used        free      shared  buff/cache   available
Mem:            1750        1255          87          18         576         495
Swap:           3071          38        3033

待更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

弘雷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值