yingfeng

  • 首页
  • 友情链接
  • 申请友链
  • 关于我
  • 联系我
  • 捐赠
  • 隐私政策
yingfeng
心明若镜,不将不迎
  1. 首页
  2. 技术教程
  3. 正文

Linux替换卷组中的硬盘

2023-12-17 2063点热度 0人点赞 0条评论

在使用Linxu系统时,如果没有作RAID,当某些情况下一块硬盘出现坏道或者需要更换更大容量的硬盘、需要换成固态等情况,就需要对硬盘进行替换。
其实通常情况下直接简单粗暴的把硬盘装上去,创建分区后直接挂载到系统中然后拷贝文件后拔掉旧硬盘就完事了。即使是有一些服务要保证替换硬盘后文件的路径不变,也只要重新挂载到原有的路径就可以了,根本没必要做这篇文章中的这么多操作。
但本文讨论的是一种比较特殊的情况,假设你的服务器是在硬盘上创建了一个卷组,然后在里头创建逻辑卷,并挂载这些逻辑卷来使用的,而现在也遇到了硬盘出现坏道或者需要更换更大容量的硬盘、需要换成固态等情况。
并且要求更换硬盘后既要保证还是使用这种方式来使用硬盘,又要保证卷组名与卷名等与原来一致,还要保证文件路径不变(既要、又要、还要  hhhhh)。那么本文就提供了一种思考路来解决这个问题。

以下是具体的操作步骤:

1. 插入新的硬盘

首先当然是将新的硬盘插到服务器上。
将新的硬盘插到服务器上后可以使用 “fdisk -l” 命令查看系统是否认到了我们新的硬盘。

root@UNAS-test:~# fdisk -l
...省略其他硬盘信息...
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: ST1000DM003-1ER1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
...省略其他硬盘信息...

如上所示,这里的“/dev/sdb”就是我新插入的硬盘。

2. 初始化硬盘

认到新的硬盘后,我们要将这块硬盘初始化(即初始化为物理卷(PV))。
可使用“pvcreate”命令来初始化硬盘,命令后的参数为硬盘路径,我这里就是“/dev/sdb”。

注意:

初始化硬盘会导致该硬盘中的数据全部丢失,请反复确认该硬盘内的数据已备份,或数据已无用。

命令后面的硬盘千万不要搞错了,否者会导致对应硬盘数据丢失

root@UNAS-test:~# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created.

3. 创建临时的卷组

使用“ vgcreate”命令来创建一个临时的卷组,这里我们将这个临时卷组叫做“temp_vg”,这个名称没有特定要求,和现有的卷组名字不重复即可。

root@UNAS-test:~# vgcreate temp_vg /dev/sdb
Volume group "temp_vg" successfully created

创建好卷组后,我们使用“vgdisplay”命令来查看卷组信息,如下所示:

root@UNAS-test:~# vgdisplay temp_vg
  --- Volume group ---
  VG Name               temp_vg
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               931.51 GiB
  PE Size               4.00 MiB
  Total PE              238467
  Alloc PE / Size       25600 / 100.00 GiB
  Free  PE / Size       212867 / 831.51 GiB
  VG UUID               K31Hcf-blow-yVK3-Y2iN-Cn7F-A9il-DE1H4F

其中“temp_vg”为我们所创建的卷组名。

4. 创建逻辑卷

在这个临时的卷组中,使用“lvcreate”命令一一创建与需要替换的旧硬盘上的卷组中同名的逻辑卷,卷的大小可以随意,只要大于对应的逻辑卷所存储的文件大小即可。
假设原来的卷组下只有一个的逻辑卷名,卷名为“disk1”,我们现在创建的卷直接使用整块硬盘空间,那么操作如下所示:

root@UNAS-test:~# lvcreate -l 100%FREE -n disk1 temp_vg
Logical volume "disk1" created.

其中“-l 100%free”表示使用整块硬盘的空间来创建这个逻辑卷,“-n disk1 temp_vg”则表示创建的卷名为“disk1”,属于“temp_vg”卷组。

如果需要创建多个卷,可以将“-l 100%FREE”替换为“-L 卷大小”(这里的卷大小可使用K、M、G、T 等单位),其余参数不变。
假设我们要创建一个名为“disk1”的卷,其大小为100GB,属于“temp_vg”卷组,那么操作如下所示:

root@UNAS-test:~# lvcreate -L 100G -n disk1 temp_vg
Logical volume "disk1" created.

创建好卷后,我们可以使用“lvdisplay”命令来查看卷信息,如下所示:

root@UNAS-test:~# lvdisplay /dev/temp_vg/disk1
  --- Logical volume ---
  LV Path                /dev/temp_vg/disk1
  LV Name                disk1
  VG Name                temp_vg
  LV UUID                1Ahabk-gJbW-XNZV-IscQ-4OIO-YcIp-NuHHqT
  LV Write Access        read/write
  LV Creation host, time UNAS-27X39, 2023-12-16 23:19:16 +0800
  LV Status              available
  # open                 0
  LV Size                100.00 GiB
  Current LE             25600
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

其中“/dev/temp_vg/disk1”为这个卷的路径,在linxu系统中创建的卷组都会在“/dev/”路径下,而卷组内的卷自然会在对应卷的路径下,所以我们创建的卷“disk1”的路径是“/dev/temp_vg/disk1”。

5. 格式化卷

创建好卷后,我们需要对其进行格式化后才能使用,可以使用"mkfs"命令格式化卷。
假设我们要将之前创建的“disk1”卷格式化为xfs文件系统,那么操作如下所示:

root@UNAS-test:~# mkfs.xfs /dev/temp_vg/disk1
meta-data=/dev/temp_vg/disk1     isize=512    agcount=4, agsize=6553600 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=0
data     =                       bsize=4096   blocks=26214400, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=12800, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

其中“mkfs”后的“.xfs”表示格式化为xfs文件系统,这里的文件系统可以是ext4、xfs、ntfs等,根据实际的需求进行输入,而后面的“/dev/temp_vg/disk1”则是代表卷的路径,也是根据实际的路径进行输入。
另外需要注意的一点是“mkfs”和“.文件系统”之间是没有空格的。

注意:

格式化会导致该卷中的数据全部情况,请反复确认路径是否正确

6.挂载创建的卷

将卷创建好后,我们需要挂载这些卷后才能使用,通常情况下我们会将其挂载在“/mnt”目录下。
在挂载卷之前,我们要创建一个文件夹来挂载它,假设我们要将其挂载在“/mnt/temp_vg/disk1”目录下,那么操作如下:

root@UNAS-test:/# mkdir /mnt/temp_vg/
root@UNAS-test:/#
root@UNAS-test:/# mkdir /mnt/temp_vg/disk1/
root@UNAS-test:/#

然后就是挂载卷到这个文件夹下,我们使用“mount”命令来挂载它,操作如下:

root@UNAS-test:/# mount /dev/temp_vg/disk1 /mnt/temp_vg/disk1/

此时我们就已经成功将“/dev/temp_vg/disk1”这个卷挂载到“/mnt/temp_vg/disk1/”目录下了。

7. 停止与旧硬盘相关服务

在进行文件复制之前,我们要停止与旧硬盘相关服务,通常情况下使用“service 服务名 stop”即可停止服务。
但这一步的具体操作就需要根据具体的服务情况来了,这里本文不做具体的介绍。

8. 复制文件

复制就硬盘的各个卷中的文件到新硬盘对应的卷中。
假设原硬盘中的卷挂载在“/mnt/nas_vg/disk1”目录下,新的硬盘对应的卷挂载在“/mnt/temp_vg/disk1/”下,那么复制文件的操作如下:

root@UNAS-test:~# cp -r /mnt/nas_vg/disk1/ /mnt/temp_vg/disk1/

9. 卸载卷

使用“umount”命令来卸载新旧硬盘中所有的卷。
我们还是假设旧硬盘中的卷挂载在“/mnt/nas_vg/disk1”目录下,新的硬盘对应的卷挂载在“/mnt/temp_vg/disk1/”下,那么操作如下:

root@UNAS-test:~# umount /mnt/nas_vg/disk1
root@UNAS-test:~# umount /mnt/temp_vg/disk1

10. 修改卷组名

接下来就是修改旧的硬盘与新的硬盘的卷组名称,我们可以使用“vgrename ”命令来修改卷组名。
这里我们还是假设旧硬盘的卷组名为“nas_vg”,新的硬盘是卷组名为“temp_vg”,那么操作如下:

root@UNAS-test:~# vgrename nas_vg nas_vg_old
 Volume group "nas_vg" successfully renamed to "nas_vg_old"
root@UNAS-test:~# vgrename temp_vg nas_vg
 Volume group "temp_vg" successfully renamed to "nas_vg"

这里我们将原有硬盘的卷组名“nas_vg”改名为““nas_vg_old”,将新硬盘的卷组名“temp_vg”改名为“nas_vg”。

11. 挂载新的硬盘

卷组名称修改完成后,我们还需要把新硬盘的卷挂载到原来旧硬盘所挂载的目录下。
这里我们还是假设原硬盘中的卷是挂载在“/mnt/nas_vg/disk1”目录下的,而新硬盘是按照上面的操作创建的卷,并修改了路径,那么新硬盘的路径就是“/dev/nas_vg/disk1”
那么操作如下:

mount /dev/nas_vg/disk1 /mnt/nas_vg/disk1/

12. 检查文件,启动服务

检查文件已经全部拷贝到了新的硬盘后,我们就可以来启动和这块硬盘相关的服务了。
但这一步的具体操作就需要根据具体的服务情况来了,这里本文同样不做具体的介绍。

13. 取下旧硬盘

确保服务都正常后,就可以将旧硬盘取下了。
这里不建议立即将旧硬盘格式化或者进行销毁等处理,建议等新硬盘运行一段时间,确保数据没有任何处理之后在对旧的硬盘进行对应的处理。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: Linux 卷 卷组 换硬盘 文件路径 硬盘
最后更新:2023-12-17

yingfeng

心明若鏡,不將不迎

打赏 点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

yingfeng

心明若鏡,不將不迎

最新 热点 随机
最新 热点 随机
2025年的第一场流星雨:象限仪座流星雨 Let's Encrypt免费SSL证书申请与自动化续签 关于我使用z30一段时间的一些分享(絮絮叨叨,废话比较多) 银临『山色有无中』巡演 • 深圳站 UNAS替换卷组中的硬盘,保持目录不变 Linux替换卷组中的硬盘
H3C交换机配置多个流量镜像观察口 银临『山色有无中』巡演 • 深圳站 我在农村蹭WIFI——利用旧的路由器无线中继蹭网 Win10 启用文件历史版本功能 你有没有遇见她,一位叫璇玑的姑娘 使用ffmpeg提取视频文件中的音频
最近评论
yingfeng 发布于 8 个月前(09月20日) 你的站点挂啦
思陽 发布于 9 个月前(09月04日) 算了,還是台版Apple id來的香
Ali7 发布于 11 个月前(06月08日) 新建立的网站,刚刚从内网迁移到广域网~ 已为大佬添加友链 http://blog.alise.t...
FreelyTomorrow 发布于 1 年前(02月12日) 你好,如果我的网站架设在国外是不是和国内的站点互换友链不太方便啊
跨境电商 发布于 2 年前(09月27日) 感谢分享

COPYRIGHT © 2025 yingfeng. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

闽ICP备15026537号-1