【openeuler 21.3】Linux硬盘分区、更改/home目录挂载空间及root目录扩容

2023-10-28

简介: 公司使用的服务器的硬盘用的是RAID阵列,装openeuler系统时总共划分了两个阵列组。因为系统目前只使用了一个硬盘阵列,现在打算将一个阵列用作系统盘,将系统默认分配给home目录的空间分配给/目录提升/目录空间,另一个阵列全数用作数据盘。操作涉及:硬盘空间划分、文件系统挂载、磁盘扩容以及过程问题解决方案

 一、硬盘空间管理

fdisk           磁盘分区相关操作
df              系统分区挂载信息
mount           挂载分区
umount          卸载分区

1.通过命令:lsblk ,查看硬盘和分区

 我是将第二个盘作为系统盘,所以需要将系统的/home挂载到第一个硬盘下。(这里是已经挂载好的截图)

2.硬盘进行分区

硬盘分区可以通过命令fdisk和parted,但fdisk不能分区超过2t.

原硬盘分区情况:一个硬盘sda(4.4T),一个硬盘sdb(450G)

 fdisk命令创建分区(一)

[root@localhost /]# fdisk /dev/sda

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

该磁盘的大小为 4.4 TiB (4799827279872 字节)。DOS 分区表不能用于卷容量大于 2199023255040 字节、512 字节扇区的驱动器。请使用 GUID 分区表格式(GPT)。

命令(输入 m 获取帮助):p

Disk /dev/sda:4.37 TiB,4799827279872 字节,9374662656 个扇区
磁盘型号:MR9460-8i       
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):262144 字节 / 524288 字节
磁盘标签类型:dos
磁盘标识符:0x68e60bcf

命令(输入 m 获取帮助):n
分区类型
   p   主分区 (0 primary, 0 extended, 4 free)
   e   扩展分区 (逻辑分区容器)
选择 (默认 p):p
分区号 (1-4, 默认  1): 1
第一个扇区 (2048-4294967295, 默认 2048): 
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-4294967295, 默认 4294967295): +3T
值超出范围。
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-4294967295, 默认 4294967295): +1T

创建了一个新分区 1,类型为“Linux”,大小为 1 TiB。
分区 #1 包含一个 ext4 签名。

您想移除该签名吗?是[Y]/否[N]:N

命令(输入 m 获取帮助):p

Disk /dev/sda:4.37 TiB,4799827279872 字节,9374662656 个扇区
磁盘型号:MR9460-8i       
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):262144 字节 / 524288 字节
磁盘标签类型:dos
磁盘标识符:0x68e60bcf

设备       启动  起点       末尾       扇区 大小 Id 类型
/dev/sda1        2048 2147485695 2147483648   1T 83 Linux

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

 fdisk命令使用介绍:fdisk挂载硬盘,创建新分区,删除分区

parted命令创建分区 (二)

[root@localhost /]# parted /dev/sda 
GNU Parted 3.3
使用 /dev/sda
欢迎使用 GNU Parted!输入 'help' 来查看命令列表。
(parted) help                                                             
  align-check TYPE N                       check partition N for TYPE(min|opt) alignment
  help [COMMAND]                           打印通用求助信息,或 COMMAND 的帮助
  mklabel,mktable LABEL-TYPE               创建新的磁盘卷标 (分区表)
  mkpart 分区类型 [文件系统类型] 起始点 结束点 创建一个分区
  name 编号 名称                           将指定“编号”的分区命名为“名称”
  print [devices|free|list,all|数字]        显示分区表、可用设备、剩余空间、所有分区或特殊分区
  quit                                     退出程序
  rescue 起始点 终止点                      挽救临近“起始点”、“终止点”的遗失的分区
  resizepart NUMBER END                    改变 NUMBER 的大小
  rm NUMBER                                删除编号为 NUMBER 的分区
  select 设备                              选择要编辑的设备
  disk_set 旗标 状态                       变更已选设备上的旗标
  disk_toggle [旗标]                       切换已选设备上的旗标状态
  set 编号 旗标 状态                       改变指定“编号”分区的旗标
  toggle [编号 [旗标]]                     切换“编号”分区上的“旗标”状态
  unit 单位                                设置缺省的“单位”
  version                                  显示目前 GNU Parted 的版本与版权信息
(parted) print                                                            
型号:AVAGO MR9460-8i (scsi)
磁盘 /dev/sda:4800GB
扇区大小 (逻辑/物理):512B/4096B
分区表:msdos
磁盘标志:

编号  起始点  结束点  大小  类型  文件系统  标志
                                                         
(parted) mklabel gpt                                                      
警告: 现有 /dev/sda 上的磁盘卷标将被销毁,而所有在这个磁盘上的数据将会丢失。您要继续吗?
是/Yes/否/No? yes                                                         
(parted) mkpart sda1                                                      
文件系统类型?  [ext2]? ext3
起始点? 1                                                                
结束点? 4T                                                               
(parted) print
型号:AVAGO MR9460-8i (scsi)
磁盘 /dev/sda:4800GB
扇区大小 (逻辑/物理):512B/4096B
分区表:gpt
磁盘标志:

编号  起始点  结束点  大小    文件系统  名称  标志
 1    1049kB  4000GB  4000GB  ext3      sda1

parted命令使用介绍:parted的详解及常用分区使用方法

3.lvm管理操作硬盘空间 

 lvm 磁盘管理:(高容量服务器推荐)openeuler 12.3 : 使用LVM管理硬盘__lucky_fd的博客-CSDN博客_lvm查看硬盘 

1. 创建物理卷

[root@localhost /]# pvcreate /dev/sda1
WARNING: ext4 signature detected on /dev/sda1 at offset 1080. Wipe it? [y/n]: y
  Wiping ext4 signature on /dev/sda1.
  Physical volume "/dev/sda1" successfully created.
[root@localhost /]# pvdisplay 
  --- Physical volume ---
  PV Name               /dev/sdb3
  VG Name               openeuler
  PV Size               <445.04 GiB / not usable 2.00 MiB
  Allocatable           yes 
  PE Size               4.00 MiB
  Total PE              113929
  Free PE               10505
  Allocated PE          103424
  PV UUID               htBru7-C2tV-Amma-fmUG-F90v-i29b-72IlQh
   
  "/dev/sda1" is a new physical volume of "<3.64 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sda1
  VG Name               
  PV Size               <3.64 TiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               KiKrPu-Ebih-VBNY-ClLa-ALEi-ElbZ-WvVm6z

2. 创建卷组

[root@localhost /]# vgcreate data /dev/sda1
  Volume group "data" successfully created
[root@localhost /]# vgdisplay 
  --- Volume group ---
  VG Name               openeuler
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <445.04 GiB
  PE Size               4.00 MiB
  Total PE              113929
  Alloc PE / Size       103424 / 404.00 GiB
  Free  PE / Size       10505 / <41.04 GiB
  VG UUID               t7IM2T-Uzl8-ZrX6-c6s9-yZfZ-EmKb-XnLVKr
   
  --- Volume group ---
  VG Name               data
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <3.64 TiB
  PE Size               4.00 MiB
  Total PE              953673
  Alloc PE / Size       0 / 0   
  Free  PE / Size       953673 / <3.64 TiB
  VG UUID               0wn2DD-pdpK-X0U1-mN71-x33w-7lk9-2X9OxW

3.  创建逻辑卷

[root@localhost /]# lvcreate -L 3.5T -n home data 
  Logical volume "home" created.
[root@localhost /]# lvdisplay 
  --- Logical volume ---
  LV Path                /dev/openeuler/root
  LV Name                root
  VG Name                openeuler
  LV UUID                fpgxmI-PZbf-jlrx-0oqD-V6Ol-0Zhh-ffcU9D
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-07-18 10:06:26 +0800
  LV Status              available
  # open                 1
  LV Size                400.00 GiB
  Current LE             102400
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/openeuler/swap
  LV Name                swap
  VG Name                openeuler
  LV UUID                U1vleL-4RBm-cGvW-zXL3-Hdx1-SNDE-wuRjWy
  LV Write Access        read/write
  LV Creation host, time localhost, 2022-07-18 10:06:31 +0800
  LV Status              available
  # open                 2
  LV Size                4.00 GiB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1
   
  --- Logical volume ---
  LV Path                /dev/data/home
  LV Name                home
  VG Name                data
  LV UUID                XXHn2z-lyGo-V18H-uD3k-JiMK-Z3hb-5uTUZK
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2022-08-03 11:14:17 +0800
  LV Status              available
  # open                 0
  LV Size                3.50 TiB
  Current LE             917504
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

4. 挂载文件系统

[root@localhost /]# mkfs -t ext4 /dev/data/home 
mke2fs 1.45.6 (20-Mar-2020)
创建含有 939524096 个块(每块 4k)和 234881024 个inode的文件系统
文件系统UUID:5d18cc10-1fc5-4feb-a18b-e62e2b91802a
超级块的备份存储于下列块: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000, 214990848, 512000000, 550731776, 644972544

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

5.  查看硬盘分区:lsblk 或fdisk -l

[root@localhost /]# lsblk 
NAME               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                  8:0    0   4.4T  0 disk 
└─sda1               8:1    0   3.6T  0 part 
  └─data-home      253:2    0   3.5T  0 lvm  
sdb                  8:16   0 446.6G  0 disk 
├─sdb1               8:17   0   600M  0 part /boot/efi
├─sdb2               8:18   0     1G  0 part /boot
└─sdb3               8:19   0   445G  0 part 
  ├─openeuler-root 253:0    0   400G  0 lvm  /
  └─openeuler-swap 253:1    0     4G  0 lvm  [SWAP]

4. 硬盘分区挂载到目录

(一)手动挂载(重启失效)

# mount /dev/data/home /home

(二)开机自动挂载

1. 执行blkid命令查询逻辑卷的信息

[root@localhost ~]# blkid /dev/data/home 
/dev/data/home: UUID="5d18cc10-1fc5-4feb-a18b-e62e2b91802a" BLOCK_SIZE="4096" TYPE="ext4"

2. vi /etc/fstab命令编辑fstab文件

[root@localhost ~]# vim /etc/fstab 

3. 在文件最后添加以下内容

/dev/data/home  /home   ext4    defaults        1 2

内容说明如下:

第一列:逻辑卷的UUID或逻辑卷路径。
第二列:文件系统的挂载目录  。
第三列:文件系统的文件格式,此处填写1查询的 ext4 。
第四列:挂载选项,此处以“defaults”为例;
第五列:备份选项,设置为“1”时,系统自动对该文件系统进行备份;设置为“0”时,不进行备份。此处以“0”为例;
第六列:扫描选项,设置为“1”时,系统在启动时自动对该文件系统进行扫描;设置为“0”时,不进行扫描。此处以“0”为例。

参考链接: /etc/fstab详解   

4. 验证挂载功能

  1.  执行如下命令,将/etc/fstab文件所有内容重新加载。
# mount -a

       2.  执行命令lsblk,查看硬盘挂载情况

[root@localhost ~]# lsblk 
NAME               MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda                  8:0    0 446.6G  0 disk 
├─sda1               8:1    0   600M  0 part /boot/efi
├─sda2               8:2    0     1G  0 part /boot
└─sda3               8:3    0   445G  0 part 
  ├─openeuler-root 253:0    0   400G  0 lvm  /
  └─openeuler-swap 253:1    0     4G  0 lvm  [SWAP]
sdb                  8:16   0   4.4T  0 disk 
└─sdb1               8:17   0   3.6T  0 part 
  └─data-home      253:2    0   3.5T  0 lvm  /home

显示分区/dev/data/home已挂载到/home目录 ,说明成功

二、home目录重新挂载到其他硬盘空间

通过上面的知识,相信我们大概明白了系统是如何操作硬盘的。现在要把home目录挂载到其他硬盘就很简单了,只需要将原来的home目录先解除挂载,在重新挂载到新的硬盘分区上就行了。下面说一下详细步骤

实际操作时为了保留原home目录的数据,我们需要稍微绕一下多走几步。

1.新建目录,作为跳板目录

[fd@localhost ~]$ sudo mkdir /newhome

2. 将分区挂载到新建目录

$ mount /dev/data/home /newhome

3. 将原要挂载的目录中所有文件复制到新目录,存储到/dev/data/home空间

# cp -r /home/* /newhome/

 4. 强制删除原目录下所有文件,并解除挂载(为root目录扩容做准备)

# rm -rf /home/*      
# umount /home

5. 将/dev/data/home硬盘分区挂载到/home目录

$ umount /newhome
$ mount /dev/data/home /home

这里你会发现之前的/newhome目录文件已经全部转移过来了,这是因为数据是存在硬盘上的,硬盘挂载到其他目录,会自动将硬盘上数据一起指向挂载的目录。

6. 强制删除已经失去作用的跳板目录

# rm -rf /newhome

7. /etc/fstab文件:设置开机自动挂载配置文件(参考第一条第四点)

三、root目录扩容

思路:我们首先要明白实际使用的内存空间都是逻辑卷,逻辑卷再格式化成不同的文件系统,通过挂载就可以使用,操作内存就是操作逻辑卷组的大小。前面我们的home目录是直接挂载到其他硬盘上的,所以这里可以把原home的逻辑卷空间全部分配给root目录;如果只是从home目录分一部分到root目录,就需要先备份home数据,删除/home文件系统所在的逻辑卷,增大/文件系统所在的逻辑卷,增大/文件系统大小,最后再新建 /home文件系统所在的逻辑卷 。

这里展示后面一种情况的操作流程:

1.备份home数据

2.  终止home目录所有进程,注意操作目录不要在home目录下

$ fuser -km /home

3. 取消挂载

# umount /home

 4.  删除/home所在的逻辑卷lv:/dev/openeuler/home是逻辑卷路径

[root@localhost /]# lvremove /dev/openeuler/home

5. lsblk查看磁盘空间情况

这里可以看到磁盘分区sda3的空间为445G,root逻辑卷被分配了400G。还剩40G的空间没有使用

6. 扩大逻辑卷大小

$ lvextend -L +400G /dev/openeuler/root
  • -L:指定逻辑卷的大小,单位为“kKmMgGtT”字节。

 7. 扩大/文件系统

根据版本使用命令,7以上使用xfs_growfs,7以下使用resize2fs

$ resize2fs /dev/openeuler/root

8.df -h查看扩容后的情况

[root@localhost /]# df -h
文件系统                    容量  已用  可用 已用% 挂载点
devtmpfs                     63G     0   63G    0% /dev
tmpfs                        64G  1.1M   64G    1% /dev/shm
tmpfs                        26G   73M   26G    1% /run
tmpfs                       4.0M     0  4.0M    0% /sys/fs/cgroup
/dev/mapper/openeuler-root  394G   43G  334G   12% /
tmpfs                        64G  9.1M   64G    1% /tmp
/dev/sda2                   976M   73M  836M    9% /boot
/dev/sda1                   599M  6.4M  593M    2% /boot/efi
/dev/mapper/data-home       3.5T   12G  3.3T    1% /home
tmpfs                        13G  1.2M   13G    1% /run/user/980
tmpfs                        13G  1.2M   13G    1% /run/user/1001
tmpfs                        13G  1.2M   13G    1% /run/user/0

9. 重建/home文件系统所需要的逻辑卷 

 这里只提供了一个思路和大致过程,中间遇到的问题还是需要自己去解决。欢迎沟通交流

过程遇到问题的解决方案 :                                                                                                      

【openeuler 21.3】格式化磁盘提示被系统占用__lucky_fd的博客-CSDN博客

mount: /n_home: 未知的文件系统类型“LVM2_member”. 问题解决__lucky_fd的博客-CSDN博客

mount: /n_home: 文件系统类型错误、选项错误、/dev/mapper/openeuler-home 上有坏超级块、缺少代码页或帮助程序或其他错误.问题解决__lucky_fd的博客-CSDN博客

fstab自动挂载_挂载错误导致系统无法启动的解决方法

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【openeuler 21.3】Linux硬盘分区、更改/home目录挂载空间及root目录扩容 的相关文章

随机推荐

  • VS2013配置使用pthread多线程

    POSIX线程 POSIX threads 简称pthreads 是线程的POSIX标准 该标准定义了创建和操纵线程的一整套API 在类Unix操作系统 Unix Linux Mac OS X等 中 都使用pthreads作为操作系统的线程
  • 关于C++的精度输出中的cout.precision()的正确解释

    关于C 的精度输出中的cout precision 的正确解释 网上绝大多数解释的都是 cout precision 控制浮点数的输出精度 是控制保留几位小数的这样是不对的 这个函数虽然是控制浮点数的输出精度 但是它正确的是用来保留几位有效
  • HTML的form表单

    1 get请求 form表单中get为默认的提交方式 当使用get方式提交表单时 浏览器会将表单中的数据添加到地址后面 作为地址参数
  • SOAPUI SOAP压力测试

    目的 实现指定Soap协议的压力测试 环境 SoapUI Pro 5 1 2 Linux simple 4 1 21 jar 实现Soap协议的接收 处理与响应 wsdl simple 4 1 21框架见网址 点击打开链接 过程 1 安装S
  • sshd无法启动

    sshd 无法开启 1 开启sshd systemctl start sshd 2 查看sshd状态 systemctl status sshd service 显示sshd服务开启失败 解决方法 1 输入 sshd t 进行检查 报错信息
  • 高等数学(工本)计算题、综合题

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
  • 智慧物流之RFID物流供应链仓库管理系统,智能化的仓库rfid管理-新导智能

    摘要 物流与供应链管理在企业的整个管理流程中起着非常重要的作用 如果不能保证及时准确的入库 出库 物流和库存控制等供应链管理 将会给企业带来巨大损失 这不仅表现为各项管理费用的增加 而且会导致客户服务质量难以得到保证 最终影响企业的市场竞争
  • python关于SSLError的解决方法

    最近在使用http client调用btcd时报错SSLError Btcd Thread
  • 信息收集 —— dmitry

    每天学习一个Kali工具 dmitry 1 是什么 DMitry是黑客渗透流程中进行深度信息收集的利器 它是一个由C语言编写的UNIX GNU Linux命令行工具 无GUI操作界面 需掌握其常用使用参数 2 干什么用 1 端口扫描 可探测
  • 大鹏展翅_ParparVM展翅高飞

    大鹏展翅 我们写了很多关于为iOS构建的新VM的体系结构以及构建它的原因 直到最近 我们一直将其视为一种Codename One专用工具 只会对我们有用的东西 我们之所以使用开放源代码 是因为 这就是我们的方式 此后没有多加考虑 最近 我们
  • Vscode 下pip的换源方式(包括临时换源和永久换源)

    换源方式 这里我们提供两种换源的方式 临时换源 永久换源 临时换源 临时换源只需要在pip安装包时 加上一个 i参数后接源的url即可 1 临时换源 复制代码 清华源 pip3 install markdown i https pypi t
  • 若依绕过登录页访问其他自定义页面,以及自定义公众号页面账号登录后权限获取

    1 添加白名单路由path路径 2 路由路径进行配置 component resolve gt require views wxgzh Login resolve 白名单 3 公众号登录时候需要保存后端返回的token值 自定义公众号登录后
  • Launcher与普通Activity的区别

    Launcher与普通Activity的区别 分类 Android应用 2013 09 05 15 40 692人阅读 评论 0 收藏 举报 activity launcher MONKEY HOME Intent 目录 1 Intent
  • Docker笔记(十三):容器日志采集实践

    日志是服务运行过程中的一个关键环节 借助日志 我们可以排查定位问题 也可以借助集中化的日志管理平台 如ELK 来做一些必要的数据统计分析 在Docker环境中 日志的采集比传统环境更为复杂 因此了解Docker日志的管理机制 及基于此熟悉日
  • 解决Visual Studio Code 热键冲突

    因为最近很火的ChatGPT 更新了VSCode的版本 但是界面和配置有了一些变化 原来的热键也有所调整 在使用markdown的时候 enter键竟然都出现了冲突 在此记录一下操作步骤 非常简单 报错如下 command markdown
  • Python如何使用和配置Anaconda入门

    1 Anaconda介绍 Anaconda 是一款广泛使用的Python和R语言开发环境 集成了许多常用的科学计算和数据分析库 它包括conda Python解释器以及大量有用的库和工具 使得您可以更轻松地搭建Python和R的开发环境 此
  • QTP11破解无期限使用

    1 找到C ProgramData SafeNet Sentinel目录 更名或者删除 2 找到QTP11安装目录下bin子目录 如C Program Files x86 HP QuickTest Professional bin 执行in
  • 服务器PCI插槽上的固态硬盘,SSD接口详解,再也不会买错固态硬盘了

    硬盘知识科普中 我们提到了SSD的发展史虽短 但是种类和协议比HDD不知道多到哪里去了 因此 本期小编就通过接口类型 总线标准和协议标准来详细地介绍SSD 本文可能会出现很多小白都没有见过或者听过的名词 但是 对科技的探索 就是在不断学习新
  • 分享97个社区论坛PHP源码,总有一款适合你

    社区论坛 PHP源码链接 https pan baidu com s 1G4mtEKq7jPCG74ArOUwhLQ 提取码 484u 分享97个社区论坛PHP源码 总有一款适合你 下面是文件的名字 我放了一些图片 文章里不是所有的图主要是
  • 【openeuler 21.3】Linux硬盘分区、更改/home目录挂载空间及root目录扩容

    简介 公司使用的服务器的硬盘用的是RAID阵列 装openeuler系统时总共划分了两个阵列组 因为系统目前只使用了一个硬盘阵列 现在打算将一个阵列用作系统盘 将系统默认分配给home目录的空间分配给 目录提升 目录空间 另一个阵列全数用作