服务器重装系统与磁盘操作

诱因:服务器原来装的EXSI,现在要重装一个ubuntu server,出现了下面一些问题,在此记录一下。

1、过程中出现的问题(2024.5.26)

1.1 问题1:如何磨掉原来的ESXI?

服务器的磁盘是通过raid组装过的,组装信息如下:

在这里插入图片描述

以前的ESXI是安装在第一个558G的虚拟驱动里面的。

所以磨掉ESXI的方法:

1)重装操作系统的时候,安装在558G的磁盘中(原来的ESXI就装在这个磁盘里面得)。

在这里插入图片描述

2)重组raid, 初始化时,选择Initialize。之后再安装操作系统

在这里插入图片描述

1.2 问题2:为什么ubuntu安装在14TB的磁盘中,reboot后无法正常进入系统?

可能是因为组raid时,Drive Group:0 (558GB,RAID 1类型)在 Drive Group:1(14TB,RAID 5类型)上面,如果要引导启动的时候,那么会优先从Drive Group:0从引导。

也可能是因为Drive Group:0 使用的是非SATA,而Drive Group:1全部使用的是SATA类型的磁盘

补RAID知识

重要参考:RAID磁盘阵列是什么意思?RAID 0、1、5都有什么不同?

RAID的出现是为了保证安全性。RAID也可以当作是把单个的磁盘合并在一起进行使用。

RAID 0:把文件拆开,然后同时、分别存到三块硬盘上。RAID 0是性能最好的,但因为是把文件拆分存储,一旦一个硬盘出问题,整个文件就不能用了。【性能最高,最不安全】

RAID 1:相对于RAID 0,提升了安全性。往第1块磁盘写数据,还会复制一份到第二块硬盘。所以虽然安全性最高,但是容量只会是两个相同大小磁盘组起来后的一半。(至少需要2块硬盘)【最安全,但性能最低】

RAID 5:兼顾性能和安全性。如果某一个块硬盘损坏了,那么可以通过其他硬盘的检验信息来恢复。所以RAID 5又叫做分布式校验盘。RAID 5最多允许坏一块硬盘,坏2块硬盘就不行了。(至少需要3块硬盘)

RAID 10:是RAID 1 和 RAID 0的组合,至少需要4块硬盘。先组成2个RAID 1,再组成2个RAID 0。

1.3 问题3:安装ubuntu时,558G和14T的硬盘,操作系统应该选择安装在哪个硬盘?

我们先选择把ubuntu安装在14TB的硬盘里,发生的效果是:reboot后,无法正常开机。原因猜测见1.2

后来我们选择把ubuntu安装在558G的硬盘中,这样就可以正常进入系统了。

1.4 问题4:如何在安装ubuntu的时候,就充分利用好558G的磁盘空间?而不是进入系统之后,再进行扩容。

关键在于这个界面:

在这里插入图片描述

如果按照这个默认配置,那么分配给根(/)的磁盘大小只有100GB。我们需要把这个558G的硬盘空间充分利用,接下来就是操作步骤:

Step1:删掉[/ 100G new ext4 new LVM logical volume](通过Unmount

Step2:然后删掉ubuntu-lv new to be formatted as ext4, not mounted(LVM logical volume ubuntu-lv)

Step3:然后在free space中Create Logical Volume(Size 填满,文件格式ext4,挂载在/

最后可以看到[/ 556.402G new ext4 new LVM logical volume]

1.5 问题5:进入ubuntu后,如何用上14TB的硬盘空间?

重要参考:linux下使用fdisk进行磁盘分区详解

Step1:设置磁盘分区(把整个磁盘放在一个分区)

  • lsblk命令查看现有磁盘分区(通过fdisk -l命令也可以查看,但lsblk命令更直观)
  • fdisk /dev/sdb 对某个硬盘进行分区(分区后,会出现sdb1, sdb2等等)
    • m #查看帮助
    • p #打印分区表
    • d #删除已有分区(之前通过lsblk命令查看到的分区sdb1
    • n #新建分区
      • 上面参考博客的改动是:/dev/sdb1为主分区(p),/dev/sdb2为扩展分区(e),扩展分区又包含两个逻辑分区(l)/dev/sdb5和/dev/sdb6
      • First sector一般都是默认回车;Last sector如果回车默认,那么会默认分配剩余空间。如果不用完,那么可以写+500M / + 24G
    • w #写入磁盘分区表

Step2:格式化分区(一般linux文件格式是ext4)

  • mkfs.ext4 /dev/sdb1 #把新建的分区格式化为ext4格式

Step3:把分区挂载到某个目录

  • mkdir /sdb1 #创建一个目录
  • mount /dev/sdb1 /sdb1 # 把分区挂载到某个目录

Step4:设置开机自动挂载分区

  • 把挂载信息写入/etc/fstab文件中
    • /dev/sdb1 /sdb ext4 defaults,noatime 0 0
  • reboot后,通过df -hT命令查看挂载成功与否。df -hT查看的,全部都是挂载成功的分区/逻辑卷信息,而lsblk,命令可以查看全部的硬盘空间(包括没有设置分区的等等)。

方法2:把分区(part)变为物理卷(PV)再变为卷组(VG)组再变为逻辑卷(LV),再格式化文件系统,最后挂载使用

1.6 问题6:如果/是100G,那么如何进入ubuntu后,扩充成558G呢?【未实践】

难点:目前的根目录已经有数据了,如果扩容的话, 那么可能会涉及到数据搬移?

回答:通过逻辑卷操作

重要参考

1、Linux磁盘分区详解(新建分区,现有分区扩容,分区减容)

  • 这篇参考文章的第三节“三、服务器新建磁盘空间”,是新加入一块硬盘后,如何把硬盘的空间通过卷的形式用起来。(最终还是将逻辑卷挂载到某个目录

    • 新建立的卷组的空间,可以分配给现有逻辑卷,不一定要在新建立的卷组上面新建逻辑卷。
  • 这篇参考文章的第五节“五、分区扩容”,就是给/u01目录对应的逻辑卷/dev/mapper/vgdata-lvdata02扩容【与问题6相关】

    • /dev/mapper:和本文下面的问题8有关。
    • /dev/mapper/vgdata-lvdata02是卷组vgdata下面的逻辑卷lvdata02。最终挂载目录的时候,目录和逻辑卷对应。
  • fdisk -l查看磁盘下面的分区

  • 2024.5.26用到的操作就是到分区就结束了,这篇文章还提出了 物理卷-PV逻辑卷LVM等术语

  • img

    • 物理分区(PP)/dev/sdb1/dev/sdb2 -> 物理卷(PV):/dev/sdb1/dev/sdb2

      [root@CentOS7-0003 /]$ pvcreate /dev/sdb1
        Physical volume "/dev/sdb1" successfully created.
      [root@CentOS7-0003 /]$ pvcreate /dev/sdb2
        Physical volume "/dev/sdb2" successfully created.
      [root@CentOS7-0003 /]$ pvs #pvs、pvdisplay、pvscan 这三个命令都可以查看系统中有哪些物理卷PV          
        PV         VG                  Fmt  Attr PSize   PFree 
        /dev/sda2  centos_centos7-0003 lvm2 a--  <19.00g     0 
        /dev/sdb1                      lvm2 ---    5.00g  5.00g
        /dev/sdb2                      lvm2 ---   <5.00g <5.00g # 感觉文件格式是lvm2就是物理卷,如果直接使用的话,那么就是ext4
      

      查看物理卷:pvs、pvdisplay、pvscan

    • 物理卷(PV) /dev/sdb1/dev/sdb2 -> 卷组(VG):vgdata

      [root@CentOS7-0003 /]$ vgcreate vgdata /dev/sdb1   #创建卷组vgdata,并将/dev/sdb1添加到卷组
        Volume group "vgdata" successfully created
       
      [root@CentOS7-0003 /]$ vgextend vgdata /dev/sdb2   #将/dev/sdb2添加到vgdata卷组
        Volume group "vgdata" successfully extended
      [root@CentOS7-0003 /]$ vgs                         #查看卷组信息
        VG                  #PV #LV #SN Attr   VSize   VFree
        centos_centos7-0003   1   2   0 wz--n- <19.00g    0 
        vgdata                2   0   0 wz--n-   9.99g 9.99g # 2个PV(物理卷) 0个LV(逻辑卷)
      

      查看卷组:vgs

    • 卷组(VG) vgdata -> 逻辑卷(LV) lvdata01lvdata02

      [root@CentOS7-0003 /]$  lvcreate -L 4G -n lvdata01 vgdata #将vgdata上4G分配给新建的逻辑卷lvdata01
        Logical volume "lvdata01" created.
       
      [root@CentOS7-0003 /]$ lvcreate  -l 100%FREE -n lvdata02 vgdata #将vgdata上剩余空间分配给新建的逻辑卷lvdata02
        Logical volume "lvdata02" created.
      [root@CentOS7-0003 /]$ lvs #查看逻辑卷信息
        LV       VG                  Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
        root     centos_centos7-0003 -wi-ao---- <17.00g                                                    
        swap     centos_centos7-0003 -wi-ao----   2.00g                                                    
        lvdata01 vgdata              -wi-a-----   4.00g                                                    
        lvdata02 vgdata              -wi-a-----   5.99g                                                    
      [root@CentOS7-0003 /]$  lvextend -L +10G  /dev/centos_centos7-0003/root #分配给现有的逻辑卷使用命令,这是哪个卷组的空间呢?应该是/centos_centos7-0003卷组的吧
      

      查看逻辑卷:lvs

2、解决 Linux /dev/mapper/ubuntu–vg-ubuntu–lv 磁盘空间不足的问题【与问题6更相关一些】

  • df -h查看文件系统磁盘空间的使用情况

  • 查看卷组的信息vgdisplay(卷组的概念在上面有解释)

    • 发现 Free PE / Size还有空间
  • 通过lvresize -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv命令进行磁盘扩容(使用100%的FREE PE )

  • 刷新逻辑卷 /dev/mapper/ubuntu--vg-ubuntu--lv

    • 执行命令:resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv
  • 再查看空间:df -h

    • 此时Free PE / Size已经用完了

1.7 问题7:直接挂载分区 和 挂载逻辑卷 有什么区别呢?

参考:LVM逻辑卷的配置和挂载使用

挂载逻辑卷的好处(LVM):

①硬盘的多个分区由LVM统一为卷组管理,可以方便的加入或移走分区以扩大或减小卷组的可用容量,充分利用硬盘空间

②用户/用户组的空间建立在LVM上,可以随时按要求增大,或根据使用情况对各逻辑卷进行调整。当系统空间不足而加入新的硬盘时,不必把用户的数据从原硬盘迁移到新硬盘,而只须把新的分区加入卷组并扩充逻辑卷即可。同样,使用LVM可以在不停服务的情况下。把用户数据从旧硬盘转移到新硬盘空间中去

如果直接挂载物理分区的话,那么可能要增加容量的时候,可能就要涉及搬移数据。

ChatGPT:

直接挂载分区(Directly Mounting a Partition)和挂载逻辑卷(Mounting a Logical Volume)在Linux系统中是两种不同的磁盘管理方式,它们在概念和实现上有所区别。

  1. 直接挂载分区
    • 在直接挂载分区的情况下,你直接对物理硬盘上的某个分区进行格式化,然后将其挂载到文件系统中。
    • 这种方式下,分区的大小是固定的,不能在线调整。
    • 直接挂载分区通常用于简单的文件存储需求,或者当不需要动态调整分区大小时。
  2. 挂载逻辑卷
    • 逻辑卷(Logical Volume, LV)是建立在物理卷(Physical Volume, PV)之上的虚拟存储卷。
    • 逻辑卷可以跨越多个物理卷,这意味着可以在多个物理硬盘上创建一个逻辑卷。
    • 逻辑卷的大小可以在线调整(通过扩展或缩小PE,即物理扩展),这使得逻辑卷非常灵活,可以满足不断变化的存储需求。
    • 挂载逻辑卷通常与逻辑卷管理(LVM)一起使用,LVM是一种允许用户在不停止服务的情况下调整分区大小的技术。

总结区别:

  • 灵活性:逻辑卷比直接挂载分区更灵活,因为它们可以跨越多个物理卷,并且可以在线调整大小。
  • 管理:逻辑卷通过LVM管理,提供了更复杂的存储管理功能,如快照、克隆和卷组管理。
  • 性能:直接挂载分区通常比逻辑卷更快,因为它们不涉及额外的虚拟化层。
  • 用途:直接挂载分区适用于简单的存储需求,而逻辑卷适用于需要高度灵活性和动态调整大小的复杂存储需求。

1.8 问题8:为什么ubuntu,会出现/dev/mapper/ubuntu--vg--1-ubuntu--lv但是没有/dev/sda3/ubuntu--vg--1-ubuntu--lv呢?

通过lsblk命令查看所有硬盘信息:

root@root:~# lsblk
NAME                         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
loop0                          7:0    0   62M  1 loop 
loop1                          7:1    0 79.9M  1 loop /snap/lxd/22923
loop2                          7:2    0 63.9M  1 loop /snap/core20/2318
loop3                          7:3    0   87M  1 loop /snap/lxd/28373
loop4                          7:4    0 38.7M  1 loop /snap/snapd/21465
loop5                          7:5    0 63.9M  1 loop /snap/core20/2264
loop6                          7:6    0 38.8M  1 loop /snap/snapd/21759
sda                            8:0    0  128G  0 disk 
├─sda1                         8:1    0    1M  0 part 
├─sda2                         8:2    0    2G  0 part /boot
└─sda3                         8:3    0  126G  0 part 
  └─ubuntu--vg--1-ubuntu--lv 253:0    0   63G  0 lvm  /
sr0                           11:0    1  1.8G  0 rom  

可以发现ubuntu--vg--1-ubuntu--lv是在分区sda3下面的

通过pvs命令查看系统中有哪些物理卷PV:

root@root:~# pvs
  PV         VG          Fmt  Attr PSize    PFree 
  /dev/sda3  ubuntu-vg-1 lvm2 a--  <126.00g 63.00g

通过df -hT命令查看系统中有哪些可用的挂载:

root@root:~# df -hT
Filesystem                           Type     Size  Used Avail Use% Mounted on
tmpfs                                tmpfs    794M  1.5M  793M   1% /run
/dev/mapper/ubuntu--vg--1-ubuntu--lv ext4      62G   23G   36G  40% /
tmpfs                                tmpfs    3.9G   12K  3.9G   1% /dev/shm
tmpfs                                tmpfs    5.0M     0  5.0M   0% /run/lock
/dev/sda2                            ext4     2.0G  251M  1.6G  14% /boot
tmpfs                                tmpfs    794M   24K  794M   1% /run/user/0
overlay                              overlay   62G   23G   36G  40% /var/lib/docker/overlay2/b0f34b35f2ace032537f604f9504f5ee87aac231c07e4dda62d2bdaada287206/merged
overlay                              overlay   62G   23G   36G  40% /var/lib/docker/overlay2/74f9dddf9bafe92b297116ce4ecad6b579eb2ca20fc58f9d9c83bd1e233c6b0b/merged

为什么是/dev/mapper/ubuntu--vg--1-ubuntu--lv而不是/dev/sda3/ubuntu--vg--1-ubuntu--lv呢?

  • 可能因为,/sda3并不是卷组, 它只是一个物理卷。

查看所有卷组的命令:vgs # 查看所有卷组信息

root@root:~# vgs
  VG          #PV #LV #SN Attr   VSize    VFree 
  ubuntu-vg-1   1   1   0 wz--n- <126.00g 63.00g

查看卷组由哪些物理卷构成?pvscan命令可以看到

root@root:~# pvscan
  PV /dev/sda3   VG ubuntu-vg-1     lvm2 [<126.00 GiB / 63.00 GiB free]
  Total: 1 [<126.00 GiB] / in use: 1 [<126.00 GiB] / in no VG: 0 [0   ]

查看已建立的逻辑卷?lvscan命令

root@root:~# lvscan
  ACTIVE            '/dev/ubuntu-vg-1/ubuntu-lv' [<63.00 GiB] inherit
root@root:~# ls /dev/ubuntu-vg-1/ubuntu-lv
/dev/ubuntu-vg-1/ubuntu-lv

看来,/dev/mapper/ubuntu--vg--1-ubuntu--lv 就是 /dev/ubuntu-vg-1/ubuntu-lv

root@root:~# ls -l /dev/ubuntu-vg-1/ubuntu-lv
lrwxrwxrwx 1 root root 7 May  8 15:18 /dev/ubuntu-vg-1/ubuntu-lv -> ../dm-0
root@root:~# ls -l /dev/mapper/ubuntu--vg--1-ubuntu--lv
lrwxrwxrwx 1 root root 7 May  8 15:18 /dev/mapper/ubuntu--vg--1-ubuntu--lv -> ../dm-0

最终答案:确实不应该是/dev/sda3/ubuntu--vg--1-ubuntu--lv,应该和/dev/ubuntu-vg-1/ubuntu-lv相关

重要参考:划分磁盘命令(物理卷、卷组、逻辑卷)

  • 很多命令

1.9 问题9:为什么是/dev/mapper/呢?

重要参考:

linux: /dev/mapper/目录的作用

  • 总结来说,/dev/mapper/ 目录是 Linux 系统中管理复杂存储配置的关键部分,尤其是在使用 LVM 或设备映射功能时。通过这个目录,用户和系统管理员可以更方便地访问和管理这些虚拟存储设备。

Linux系统/dev/mapper目录浅谈

  • 其实在系统里/dev/Volume/lv_root 和 /dev/mapper/Volume-lv_root以及/dev/dm-0都是一个东西,都可当作一个分区来对待。

1.10 常用磁盘命令总结

  • df -hT:查看已经挂载使用的磁盘空间
  • lsblk查看所有硬盘信息(包括未分区、未加入逻辑卷、未挂载使用的)
  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值