网教网

搜索
查看: 99|回复: 1

linux磁盘管理增加,扩容 (运维必备,建议收藏)

[复制链接]

2

主题

3

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2022-9-19 10:12:55 | 显示全部楼层 |阅读模式
一、磁盘空间不足,添加新的磁盘

一般来说,当我们在服务上插入新的磁盘时,服务器是会对磁盘进行识别的。但是,有的时候服务器并没有对这些新插入的磁盘进行识别。这时,我们可以通过重启服务器,来使服务器重新加载硬盘。
在生产环境中我们的服务器上都存在着重要的服务,并不可以对服务器进行重启。下面介绍的就是无需重启服务器,使其识别新磁盘的方法。


解决方法:

fdisk -l



添加了新磁盘并没有发现两种方法(一重启,二重新识别)
一、查看磁盘大小
lsblk 查看的是block device,也就是逻辑磁盘大小。
df查看的是file system, 也就是文件系统层的磁盘大小。



二、查看主机总线号
ls /sys/class/scsi_host/



三、重新扫描SCSI总线添加设备
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
注意,如果扫描这三个文件不成,就全部扫描一遍
cat /usr/local/src/test.sh
#!/usr/bin/bash  scsisum=`ll /sys/class/scsi_host/host*|wc -l`  for ((i=0;i<${scsisum};i++)) do echo "- - -" > /sys/class/scsi_host/host${i}/scan done

#echo "- - -" > /sys/class/scsi_host/host0/scan 这三个值代表通道,SCSI目标ID和LUN。破折号充当通配符,意思是“重新扫描一切”
四、查看磁盘是否扫描出来
fdisk -l



对新磁盘进行格式化:
1、对新磁盘进行分区(根据实际需求)
fdisk /dev/sdb




   fdisk命令参数介绍    p、打印分区表。    n、新建一个新分区。    d、删除一个分区。    q、退出不保存。    w、把分区写进分区表,保存并退出。
2、再查看磁盘个数与分区情况





3、通知内存磁盘分区变化

不通知内核,有可能无法格式化操作  partprobe /dev/sdb
4、格式化分区(根据系统和实际情况格式化成自己想要的文件系统)





5、创建挂载目录

mkdir /test
6、挂载分区指定目录,并创建开机自动挂载

1、挂载分区

mount /dev/sdb1 /test2、创建开机自动挂载


  • 可以通过磁盘分区名挂载
  • vi /etc/fstab
1.可以通过磁盘分区名挂载



2. 也可以通过uuid进行挂载
查看磁盘的uuid
  blkid
挂载





一、/etc/fstab文件的作用           磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。          系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。这样我们只需要将磁盘的挂载信息写入这个文件中我们就不需要每次开机启动之后手动进行挂载了。  二、挂载的限制      在说明这个文件的作用之前我想先强调一下挂载的限制。    1、根目录是必须挂载的,而且一定要先于其他mount point被挂载。因为mount是所有目录的跟目录,其他木有都是由根目录 /衍生出来的。    2、挂载点必须是已经存在的目录。    3、挂载点的指定可以任意,但必须遵守必要的系统目录架构原则    4、所有挂载点在同一时间只能被挂载一次    5、所有分区在同一时间只能挂在一次    6、若进行卸载,必须将工作目录退出挂载点(及其子目录)之外。
使用设备名和label及uuid作为标识的不同
使用设备名称(/dev/sda)来挂载分区时是被固定死的,一旦磁盘的插槽顺序发生了变化,就会出现名称不对应的问题。因为这个名称是会改变的。
不过使用label挂载就不用担心插槽顺序方面的问题。不过要随时注意你的Label name。至于UUID,每个分区被格式化以后都会有一个UUID作为唯一的标识号。使用uuid挂载的话就不用担心会发生错乱的问题了。
第二列:Mount point:设备的挂载点,就是你要挂载到哪个目录下。
第三列:filesystem:磁盘文件系统的格式,包括ext2、ext3、ext4、reiserfs、nfs、vfat等
第四列:parameters:文件系统的参数




第五列:能否被dump备份命令作用:dump是一个用来作为备份的命令。通常这个参数的值为0或者1




第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。






二、扩充根分区

根分区使用率超过预警值,经排查删除了无用数据,但使用率依然居高不下,于是决定扩充根分区。
  一、查看目前的使用情况


[root@localhost Desktop]# df -h Filesystem               Size  Used Avail Use% Mounted on /dev/mapper/centos-root   50G  3.4G   47G   7% / devtmpfs                 902M     0  902M   0% /dev tmpfs                    917M  144K  917M   1% /dev/shm tmpfs                    917M  9.0M  908M   1% /run tmpfs                    917M     0  917M   0% /sys/fs/cgroup /dev/mapper/centos-home   48G   33M   48G   1% /home /dev/sda1                497M  158M  340M  32% /boot tmpfs                    184M   12K  184M   1% /run/user/0

/dev/mapper/centos-root 大小50G我们增大3G
  二、添加新的磁盘,分区格式化

根据环境不同,自行添加新的磁盘
 1、添加完后,查看磁盘情况


[root@localhost Desktop]# fdisk -l  Disk /dev/sda: 107.4 GB, 107374182400 bytes, 209715200 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x0005efd6     Device Boot      Start         End      Blocks   Id  System /dev/sda1   *        2048 1026047 512000 83  Linux /dev/sda2         1026048 209715199 104344576   8e  Linux LVM  Disk /dev/mapper/centos-root: 53.7 GB, 53687091200 bytes, 104857600 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes   Disk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes   Disk /dev/mapper/centos-home: 50.9 GB, 50944016384 bytes, 99500032 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes   Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0xf0480a7c     Device Boot      Start         End      Blocks   Id  System

可以看到新添加的磁盘/dev/sdb
2、对磁盘进行分区



fdisk /dev/sdb    fdisk的交互模式,依次输入
n  --创建新分区 p  --创建主分区 <回车>  --默认分区编号 <回车>  --默认起始扇区位置。 <回车>  --默认结束扇区位置。
t  --设置分区类型
8e  类型为LVM w  --写入分区表

3、再查看磁盘情况



[root@localhost Desktop]# fdisk -l /dev/sdb  Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0xf0480a7c     Device Boot      Start         End      Blocks   Id  System /dev/sdb1            2048 41943039 20970496   8e  Linux LVM
  三、扩充根分区:将新分区扩展/root

1、查看卷分组


[root@localhost Desktop]# vgdisplay -v   ##找到centos     Using volume group(s) on command line.   --- Volume group ---   VG Name               centos   System ID                Format                lvm2   Metadata Areas        1   Metadata Sequence No  4   VG Access             read/write   VG Status             resizable   MAX LV                0   Cur LV                3   Open LV               3   Max PV                0   Cur PV                1   Act PV                1   VG Size               99.51 GiB   PE Size               4.00 MiB   Total PE              25474   Alloc PE / Size       25458 / 99.45 GiB   Free  PE / Size       16 / 64.00 MiB   VG UUID               eajt4v-Jdef-HZmX-U6AL-kOTp-lc1w-nHXcBe

  2、为新增的分区创建物理卷

[root@localhost Desktop]# pvcreate /dev/sdb1 ##提示是否擦除xfs签名,可以根据实际情况选择 WARNING: ext4 signature detected on /dev/sdb1 at offset 1080. Wipe it? [y/n]: y   Wiping ext4 signature on /dev/sdb1.   Physical volume "/dev/sdb1" successfully created
  3、查看结果



[root@localhost Desktop]# pvdisplay /dev/sdb1
##可以看到新创建的20GiB大小的物理卷:   "/dev/sdb1" is a new physical volume of "20.00 GiB"   --- NEW Physical volume ---   PV Name               /dev/sdb1   VG Name                  PV Size               20.00 GiB   Allocatable           NO   PE Size               0      Total PE              0   Free PE               0   Allocated PE          0   PV UUID               JSpfvR-zsge-XRVU-CRT2-ubec-LcmO-oZtxmD

  4、扩展卷分组,"centos"是vgdisplay命令查到的卷分组名

[root@localhost Desktop]# vgextend centos /dev/sdb1   Volume group "centos" successfully extended
  5、查看逻辑卷,并扩展逻辑卷


lvdisplay    可以看到/dev/centos/root目前的LV Size是50G。 [root@localhost Desktop]# lvextend -L +3G /dev/centos/root
Size of logical volume centos/root changed from 50.00 GiB (12800 extents) to 53.00 GiB (13568 extents).
Logical volume root successfully resized.   注:+3G是我们要新增加的分区大小。

  6、扩展后执行


[root@localhost Desktop]# xfs_growfs /dev/centos/root meta-data=/dev/mapper/centos-root isize=256    agcount=4, agsize=3276800 blks          =                       sectsz=512   attr=2, projid32bit=1          =                       crc=0        finobt=0 data     =                       bsize=4096   blocks=13107200, imaxpct=25          =                       sunit=0      swidth=0 blks naming   =version 2              bsize=4096   ascii-ci=0 ftype=0 log      =internal               bsize=4096   blocks=6400, version=2          =                       sectsz=512   sunit=0 blks, lazy-count=1 realtime =none                   extsz=4096   blocks=0, rtextents=0 data blocks changed from 13107200 to 13893632         将文件系统扩大,完成。    因为安装CentOS用的xfs分区,所以使用命令xfs_growfs扩展文件系统大小。xfs_growfs 同步文件系统
tips:此处有区别:centos6.x 和centos7.x的区别
resize2fs /dev/mapper/cl00-root #centos6.x调整分区命令
xfs_growfs /dev/mapper/cl00-root #centos7.x调整分区命令

7、查看结果


[root@localhost Desktop]# df -hT Filesystem              Type      Size  Used Avail Use% Mounted on /dev/mapper/centos-root xfs        53G 3.4G   50G   7% / devtmpfs                devtmpfs  902M     0  902M   0% /dev tmpfs                   tmpfs     917M  144K  917M   1% /dev/shm tmpfs                   tmpfs     917M  9.0M  908M   1% /run tmpfs                   tmpfs     917M     0  917M   0% /sys/fs/cgroup /dev/mapper/centos-home xfs        48G   33M   48G   1% /home /dev/sda1               xfs       497M  158M  340M  32% /boot tmpfs                   tmpfs     184M   12K  184M   1% /run/user/0

/已经扩充到53GiB
8、创建PV,扩容VG,LV


pvcreate /dev/hda6  
vgdisplay #查看当前已经存在的VG信息,以存在VG:VolGroup00为例  
vgextend VolGroup00 /dev/hda6 #扩展VolGroup00  
lvdisplay #查看已经存在的LV信息,以存在LV:LogVol01为例  lvextend –L 1G /dev/VolGroup00/LogVol01 #扩展LV  resize2fs /dev/VolGroup00/LogVol01 #执行该重设大小,对于当前正在使用的LogVol01有效  df –h #查看挂载情况,已经扩容

四、疑难解决


1、扩充逻辑卷报错  执行lvextend -L +20G /dev/centos/root,报错    Insufficient free space: 5120 extents needed, but only 5119 available      
2、解决如下   执行pvdisplay可以看到可用的PE数量是5119,而每个PE大小是4.00MiB,所以其实这个卷组实际的可用空间其实不是20G,而是19.99G。
回复

使用道具 举报

0

主题

2

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2025-2-25 04:04:55 | 显示全部楼层
求沙发
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表