关于统信UOS(Linux)系统磁盘无损扩容的方法

news2024/11/20 20:24:46

前言

针对某托管平台分配的4台虚拟服务器,操作系统统信UOS(Linux),数据磁盘空间已满,无损扩容的办法。

(在操作硬盘扩容前,为了安全起见,请通过磁盘快照功能备份服务器系统盘与数据盘;

然后在确保数据安全的情况下操作关闭服务器,扩容磁盘空间,等待配置完成后启动服务器

)硬盘有价,数据无价!

目录

前言

一、首先要判断自己的磁盘属于哪种卷(PV、VG、LV、LVM)

二、进行扩容

1.关闭swap分区

2.卸载主分区

3.解除占用(把占用 /dev/vdb1 的进程杀死)

4.用 fdisk 命令删除原来的分区并创建新分区

5.检查文件系统,并变更文件系统大小

6.将扩容完成的文件系统挂载到原来的挂载点

7.查看磁盘空间和使用情况:运行命令 df -h

三、解决其他三台服务器通过NFS连接到扩容服务器的/data磁盘,并mount挂载到本地(共享存储)

四、总结

五、参考文献


一、首先要判断自己的磁盘属于哪种卷(PV、VG、LV、LVM)

PV(Physical Volume)物理卷
物理卷可以是一块硬盘、一个物理硬盘的分区、RAID 逻辑分区等。
VG(Volume Group)卷组
卷组是由一个或者多个 PV 组成,可动态扩展和缩小存储空间的一种逻辑上的概念,VG 的存储空间可以被分割为 LV。
LV(Logical Volume)逻辑卷
我们使用 LVM 技术将硬盘空间组成 VG 卷组后是不能直接使用的,就像我们把硬盘组成 RAID 之后也是不能直接使用的,要通过划分逻辑分区才能使用,LV 就是我们组好 VG 后划分出来的逻辑卷,逻辑卷就和硬盘的分区概念差不多,所以 LV 是可以格式化为具体的文件系统的。

逻辑卷(LV)由逻辑卷组管理(LVM)创建,优点在于:
        1、将零散的物理卷(PV)整合成卷组(VG),根据使用的需求量,动态的扩展和收缩磁盘,按需(逻辑卷)分配空间。
        2、若业务要求超大磁盘,单一磁盘无法满足需求,逻辑卷(LVM)可将小磁盘整合起来。

#查看物理卷信息,这里检查到我的服务器没有物理卷
pvdisplay
root@LNSJW-V04:/# pvdisplay        
root@LNSJW-V04:/#

#查看卷组信息,这里检查到我的服务器没有卷组
vgdisplay
root@LNSJW-V04:/# vgdisplay
root@LNSJW-V04:/#

#查看逻辑卷信息,这里检查到我的服务器没有逻辑卷
lvdisplay
root@LNSJW-V04:/# lvdisplay
root@LNSJW-V04:/#

#那可以确认我的硬盘只是分区模式。


#提前查看所有设备挂载情况,将数值都提前保存好。
lsblk
lsblk -f
df -h
fdisk -l

root@LNSJW-V04:/# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0     11:0    1  406K  0 rom
vda    253:0    0   50G  0 disk
├─vda1 253:1    0    1G  0 part /boot/efi
├─vda2 253:2    0  1.5G  0 part /boot
└─vda3 253:3    0 47.5G  0 part /
vdb    253:16   0 1000G  0 disk
└─vdb1 253:17   0 1000G  0 part /data

root@LNSJW-V04:/# lsblk -f
NAME   FSTYPE  LABEL    UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sr0    iso9660 config-2 2023-04-16-23-43-37-00
vda
├─vda1 vfat             *-*          1021.4M     0% /boot/efi
├─vda2 ext4             *-*-*-*-*    1.3G        6% /boot
└─vda3 ext4             *-*-*-*-*    29.9G       31% /
vdb
└─vdb1 ext4             *-*-*-*-*    705.6G       23% /data
root@LNSJW-V04:/#

root@LNSJW-V04:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             32G     0   32G   0% /dev
tmpfs           6.4G  319M  6.1G   5% /run
/dev/vda3        47G   15G   30G  33% /
tmpfs            32G   19M   32G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs            32G     0   32G   0% /sys/fs/cgroup
/dev/vda2       1.5G   86M  1.3G   7% /boot
/dev/vda1      1022M  564K 1022M   1% /boot/efi
/dev/vdb1       984G  229G  706G  25% /data
tmpfs           6.4G     0  6.4G   0% /run/user/0
root@LNSJW-V04:/#

root@LNSJW-V04:/# fdisk -l
Disk /dev/ram15: 128 MiB, 134217728 bytes, 262144 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 65536 bytes
I/O size (minimum/optimal): 65536 bytes / 65536 bytes


Disk /dev/vda: 50 GiB, 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
Disklabel type: gpt
Disk identifier: A116A18A-E208-4F24-AA5D-CB2A1756AC02

Device       Start       End  Sectors  Size Type
/dev/vda1     2048   2099199  2097152    1G EFI System
/dev/vda2  2099200   5244927  3145728  1.5G Linux filesystem
/dev/vda3  5244928 104855551 99610624 47.5G Linux filesystem


Disk /dev/vdb: 1000 GiB, 1073741824000 bytes, 2097152000 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
Disklabel type: dos
Disk identifier: 0xf61ac2fa

Device     Boot Start        End    Sectors  Size Id Type
/dev/vdb1        2048 2097151999 2097149952 1000G 83 Linux
root@LNSJW-V04:/#

二、进行扩容

1.关闭swap分区

swapoff -a                #这里我没有操作

2.卸载主分区

umount /dev/vdb1

报错umount: /data: target is busy.

3.解除占用(把占用 /dev/vdb1 的进程杀死)

fuser -m -k /dev/vdb1

这里我这边fuser杀死进程也无法umount掉分区,注释掉/etc/fstab里面的/dev/vdb1磁盘,重启服务器,即可umount掉分区了。

4.用 fdisk 命令删除原来的分区并创建新分区

运行命令 fdisk -l 列出分区信息并记录扩容前数据盘的最终容量、起始扇区(First sector)位置

运行命令 fdisk /dev/vdb 进入 fdisk 界面

  本示例中,命令为 fdisk /dev/vdb

        输入 p并按回车键,打印出当前的配置

  输入 d 并按回车键,删除原来的分区,我这里只有vdb1(删除分区不会造成数据盘内数据的丢失)

  输入 n 并按回车键,开始创建新的分区

  输入 p 并按回车键,选择创建主分区

  输入分区编号并按回车键,这里仅创建一个分区,所以输入 1

  输入第一个可用的扇区编号:为了保证数据的一致性,First sector 需要与原来的分区保持一致(在本示例中,按回车键采用默认值2048)

  输入最后一个扇区编号:因为这里仅创建一个分区,所以按回车键采用默认值

        磁盘若有提示修改分区格式是ext4还是xfs啥的,记得选N

  输入 p并按回车键,打印出当前的配置

       输入 w 并按回车键,开始保存之前对分区的操作


 

5.检查文件系统,并变更文件系统大小

e2fsck -f /dev/vdb1                #检查文件系统

resize2fs /dev/vdb1                #变更文件系统大小

使用 e2fsck 时,由于系统需要检查并修正文件系统元数据,所以速度较慢、耗时较长,请耐心等待。正确使用 e2fsck 和 resize2fs 指令,不会造成原有数据的丢失。

6.将扩容完成的文件系统挂载到原来的挂载点

mount /dev/vdb1 /data

vim /etc/fstab        #记得将注释掉的开启挂载恢复原样

7.查看磁盘空间和使用情况:运行命令 df -h

如果出现扩容后的文件系统信息,说明挂载成功,就可以使用扩容后的文件系统了。


三、解决其他三台服务器通过NFS连接到扩容服务器的/data磁盘,并mount挂载到本地(共享存储)

正常的命令是

mount -t nfs 192.168.21.14:/data /root/data       

#这里我报错mount.nfs: requested NFS version or transport protocol is not supported

错误信息说明需求的nfs版本或传输协议不支持,意思是服务器端的nfs版本和客户端的nfs版本不同,百度发现网上都说该错误是内核配置有问题引发的,说是内核配置没有启用nfs导致。但是始终没有找到网上所说的修改内核配置的方法。

但是经过我实际检查发现,错误在于服务启动的顺序不对,应该先启动或重启rpcbind服务,然后在启动或重启nfs服务。

service rpcbind restart

service nfs-kernel-server restart

mount -t nfs 192.168.21.14:/data /root/data   

df -h

 

四、总结

重新启动服务器让全部环境和进程恢复启动,至此教程结束。不谢( ̄_, ̄ )

五、参考文献

Linux - 磁盘基础知识、磁盘管理(类型、引导、分区、挂载、raid、LVM、loop、overlayfs)_linux磁盘类型_骆言的博客-CSDN博客

Linux磁盘、磁盘分区、物理卷、卷组、逻辑卷_linux查看磁盘卷组_kthx的博客-CSDN博客

Linux 物理卷(PV)、逻辑卷(LV)、卷组(VG)管理

关于 Linux中逻辑卷/物理分区等知识的一些总结_山河已无恙的博客-CSDN博客

Linux系统-磁盘无损扩容教程【宝塔面板适用】_宝塔扩容硬盘_小蓝博客的博客-CSDN博客

mount.nfs: requested NFS version or transport protocol is not supported_热气球、的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/428249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 堆外内存

文章目录Java 堆外内存堆外内存的分配方式使用 Unsafe 类进行分配使用 ByteBuffer 进行分配堆外内存的查看方式Java 堆外内存 在 Java 虚拟机中,分配对象基本上都是在堆上进行的,然而在有些情况下,缓存的数据量非常大时,使用磁盘或…

【Python_Scrapy学习笔记(十四)】基于Scrapy框架的文件管道实现文件抓取(基于Scrapy框架实现多级页面的抓取)

基于Scrapy框架的文件管道实现文件抓取(基于Scrapy框架实现多级页面的抓取) 前言 本文中介绍 如何基于 Scrapy 框架的文件管道实现文件抓取(基于Scrapy框架实现多级页面的抓取),并以抓取 第一PPT 网站的 PPT 模板为例进行展示,同时抓取此网站数据的方式…

Docker安装Nexus搭建Maven私服及介绍

目录前言一、Nexus是什么?二、Docker安装方式1. 拉取镜像2. 创建挂载目录3. 运行4. 容器运行日志 (可选)三、用户登录四、仓库介绍五、创建代理仓库六、上传依赖(重点)七、下载依赖常见问题1、如何把新建的仓库添加到组…

【前端之旅】vue-router声明式导航和编程式导航

一名软件工程专业学生的前端之旅,记录自己对三件套(HTML、CSS、JavaScript)、Jquery、Ajax、Axios、Bootstrap、Node.js、Vue、小程序开发(Uniapp)以及各种UI组件库、前端框架的学习。 【前端之旅】Web基础与开发工具 【前端之旅】手把手教你安装VS Code并附上超实用插件…

科研作图-常用的图像分割指标 (Dice, Iou, Hausdorff) 及其计算

1. 简介 本节内容主要是介绍图像分割中常用指标的定义、公式和代码。常用的指标有Dice、Jaccard、Hausdorff Distance、IOU以及科研作图-Accuracy,F1,Precision,Sensitive中已经介绍的像素准确率等指标。在每个指标介绍时,会使用编写相关代码,以及使用M…

TypeScript学习记录Ts基础

安装及初步使用 1.CMD全局安装 npm install -g typescript2.检查是否安装成功 tsc -V 如报错tsc 不是内部或外部命令,也不是可运行的程序或批处理文件[可参考](https://www.cnblogs.com/sanyekui/p/13157918.html)3.在vscode中新建ts文件01_ts.ts let str:strin…

iPhone上5款视频压缩工具推荐,学会轻松压缩视频

随着技术的不断进步,现在移动端设备已经能够轻松地拍摄高清视频,然而这也带来了存储压力的增大。苹果手机更新换代频繁,但内存空间却没有跟着变大,因此如何压缩视频成为了一个重要的问题。 苹果手机怎么压缩视频?有什…

01-ASPICE体系知识

1. ASPICE是什么? ASPICE: 全称是"Automotive Software Process Improvement and Capacity Determination",汽车软件过程改进及能力评定,是汽车行业用于评价软件开发团队的研发能力水平的模型框架。最初由欧洲20多家主要汽车制造商…

上位机:创建WPF应用并使用控件完成控件交互

创建WPF应用并使用控件完成控件交互 1.XAML是WPF技术中专门用于设计UI的语言。 2.优点,XAML是一种声明型语言,只能用来声明一些UI元素、绘制UI和动画,不能在其中加入程序逻辑。实现UI与逻辑的剥离。 下面使用visual studio2019建立一个WPF项目: 进入项目,点击运行,然后…

FluxMQ—引领物联网新时代的高性能MQTT网关

FluxMQ—引领物联网新时代的高性能MQTT网关 随着物联网技术的快速发展,人们越来越意识到实时、可靠、安全的数据传输对于智能化的生产与生活的重要性。因此,市场对于高性能的物联网数据传输解决方案有着强烈的需求。FluxMQ正是为满足这一需求而诞生的一…

苹果电脑怎么用移动硬盘ntfs 苹果电脑移动硬盘怎么退出

Mac电脑默认不支持写入NTFS格式移动硬盘,这导致很多Mac用户的工作过程遇到很多不必要的麻烦。如何才能让Mac电脑“永久”拥有写入NTFS格式移动硬盘的权限呢?不少用户使用完移动硬盘后直接拔出,这可能会导致未保存的文件丢失。使用完移动硬盘后…

城市供水绩效指标解释

1.城市供水绩效评价指标体系构成 1.1.1绩效指标体系横向构成包括: 背景信息:用于计算指标的数据。 解释性因素:靠管理不易改变的数据。 绩效指标:若干个基础数据的综合运算结果,用于评价所提供服务的有效性…

Python每日一练(20230418)

目录 1. 将有序数组转换为二叉搜索树 🌟🌟 2. 四数之和 🌟🌟 3. 排序数组查找元素的首末位置 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C…

JAVA基于局域网的聊天室系统的设计与实现

本文介绍了采用JAVA编程开发视频聊天系统的一套比较常用的解决方案。文字聊天采用TCP模式;语音视频聊天采用UDP模式,在客户端之间点对点的进行。在该方案中,通过函数库VFW来实现视频捕获、影像压缩以及影像播放。微软公司提供的专门用于视频捕…

Python入门教程+项目实战-10.2节: 列表的操作符

目录 10.2.1 列表中的常用操作符 10.2.2 []操作符: 索引访问列表 10.2.3 [:]操作符:列表的切片 10.2.4 操作符:列表的加法 10.2.5 *操作符:列表的乘法 10.2.6 列表的关系运算 10.2.7 in操作符:查找元素 10.2.8 知识要点 …

香港电讯牌照申请介绍

香港对无线电发射器具的进出口实施法律管制.《电讯条例》规定进出口手提电话的人士须持有许可证或无线电商牌照。例如:手机、3C类产品、手提电脑等无线电子产品,通关时须要出示的证件之一。 一、香港电讯牌照申请需提供资料:1、有…

py逆向-NSSCTF-[NISACTF 2022]ezpython

目录 题目: 学到的点: 题目: 之前没遇到过这样的题,看了大佬的wp了解很多,记录一下 放到ida中打开,尝试分析了一下,没头绪 看了题解知道是一道py逆向的题目,需要用到这个工具pyin…

Elasticsearch+filefeat+Kibana(EFK)架构学习

一. 安装ES7集群 准备三台服,最少配置2core4G,磁盘空间最少20G,并关闭防火墙设置集群免密登录,方便scp文件等操作参考集群免密登录方法下载es7的elasticsearch-7.17.3-x86_64.rpm包安装 yum -y localinstal elasticsearch-7.17.3-x86_64.rpm修改node1配…

【SpringMVC】SpringMVC(一:第一个SpringMVC项目)

文章目录1. SSM优化的方向2.SpringMVC的优点3. SpringMVC的优化方向4.SpringMVC执行流程5.第一个SpringMVC项目5.1 创建工程5.2 添加依赖5.3 替换web.xml5.4 开发流程5.4.1完成springmvc.xml文件的配置5.4.2在web.xml文件中注册SpringMVC框架。5.4.3 编写控制器5.4.4 开发页面&…

【Spring Boot】SpringBoot参数验证以及实现原理

文章目录前言SpringBoot参数验证技巧(12个技巧)一、使用验证注解二、使用自定义验证注解三、在服务器端验证四、提供有意义的错误信息五、将 i18n 用于错误消息六、使用分组验证七、对复杂逻辑使用跨域验证八、对验证错误使用异常处理九、测试你的验证逻…