简介: 公司使用的服务器的硬盘用的是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 获取帮助):pDisk /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 获取帮助):pDisk /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) alignmenthelp [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]: yWiping ext4 signature on /dev/sda1.Physical volume "/dev/sda1" successfully created.
[root@localhost /]# pvdisplay --- Physical volume ---PV Name               /dev/sdb3VG Name               openeulerPV Size               <445.04 GiB / not usable 2.00 MiBAllocatable           yes PE Size               4.00 MiBTotal PE              113929Free PE               10505Allocated PE          103424PV 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/sda1VG Name               PV Size               <3.64 TiBAllocatable           NOPE Size               0   Total PE              0Free PE               0Allocated PE          0PV UUID               KiKrPu-Ebih-VBNY-ClLa-ALEi-ElbZ-WvVm6z

2. 创建卷组

[root@localhost /]# vgcreate data /dev/sda1Volume group "data" successfully created
[root@localhost /]# vgdisplay --- Volume group ---VG Name               openeulerSystem ID             Format                lvm2Metadata Areas        1Metadata Sequence No  7VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                2Open LV               2Max PV                0Cur PV                1Act PV                1VG Size               <445.04 GiBPE Size               4.00 MiBTotal PE              113929Alloc PE / Size       103424 / 404.00 GiBFree  PE / Size       10505 / <41.04 GiBVG UUID               t7IM2T-Uzl8-ZrX6-c6s9-yZfZ-EmKb-XnLVKr--- Volume group ---VG Name               dataSystem ID             Format                lvm2Metadata Areas        1Metadata Sequence No  1VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                0Open LV               0Max PV                0Cur PV                1Act PV                1VG Size               <3.64 TiBPE Size               4.00 MiBTotal PE              953673Alloc PE / Size       0 / 0   Free  PE / Size       953673 / <3.64 TiBVG 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/rootLV Name                rootVG Name                openeulerLV UUID                fpgxmI-PZbf-jlrx-0oqD-V6Ol-0Zhh-ffcU9DLV Write Access        read/writeLV Creation host, time localhost, 2022-07-18 10:06:26 +0800LV Status              available# open                 1LV Size                400.00 GiBCurrent LE             102400Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:0--- Logical volume ---LV Path                /dev/openeuler/swapLV Name                swapVG Name                openeulerLV UUID                U1vleL-4RBm-cGvW-zXL3-Hdx1-SNDE-wuRjWyLV Write Access        read/writeLV Creation host, time localhost, 2022-07-18 10:06:31 +0800LV Status              available# open                 2LV Size                4.00 GiBCurrent LE             1024Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     8192Block device           253:1--- Logical volume ---LV Path                /dev/data/homeLV Name                homeVG Name                dataLV UUID                XXHn2z-lyGo-V18H-uD3k-JiMK-Z3hb-5uTUZKLV Write Access        read/writeLV Creation host, time localhost.localdomain, 2022-08-03 11:14:17 +0800LV Status              available# open                 0LV Size                3.50 TiBCurrent LE             917504Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     8192Block 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自动挂载_挂载错误导致系统无法启动的解决方法

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

  1. Linux 硬盘分区、格式化、挂载

    Linux 硬盘分区.格式化.挂载 1,切换硬盘 [root@ecs-299b-0001 ~]# fdisk /dev/vdb 2,根据提示进行操作 [root@bigboy tmp]# fdisk ...

  2. linux+系统的硬盘分区格式化,linux硬盘分区、格式化、挂载超详细步骤

    在linux中增加一块或者多块硬盘来实现扩容或者备份数据,分区.格式化.挂载是不可避免的三个步骤.下面用超详细的步骤介绍如何对一块新的硬盘进行分区.格式化.挂载的操作. 分区→格式化→挂载→使用 [分 ...

  3. 服务器自动挂载硬盘,Linux硬盘分区及开机自动挂载

    本文以CentOS 6.4为例,查看当前linux服务器分区:df -h 查看当前linux服务器硬盘: fdisk -l /dev/sda 第一块硬盘 /dev/sdb 第二块硬盘 依此类推 以/d ...

  4. linux分区不格式化能挂栽吗,linux硬盘分区、格式化与挂载

    给手上的一台 Windows 安装 CentOS 后,发现 1T 的硬盘没有利用上.所以这一篇介绍怎么将它配置好. 主要用到一下知识点: 对磁盘进行分区,以创建可用的分区: 对分区进行格式化 (for ...

  5. Linux学习笔记之——Linux硬盘分区知识

    搭建Linux环境之前,有必要对Linux的硬盘分区知识有所了解.本文总结Linux的硬盘分区知识. 一.关于硬盘种类.物理几何结构及硬盘容量.分区大小计算       首先了解一下硬盘本身的一些信息 ...

  6. LinuX 硬盘分区细节详谈 【 整理至 LinuxSir BY FreeXploiT 】

    系统引导过程及硬盘分区结构论述 作者: zhy2111314 来自: LinuxSir.Org ouc.edu.cn 摘要: 本文是理论性文档,主要讲述系统引导过程以及硬盘的物理结构: +++++++ ...

  7. LinuX 硬盘分区细节

    系统引导过程及硬盘分区结构论述 作者: zhy2111314 来自: LinuxSir.Org ouc.edu.cn 摘要: 本文是理论性文档,主要讲述系统引导过程以及硬盘的物理结构: +++++++ ...

  8. LinuX 硬盘分区细节详谈

    系统引导过程及硬盘分区结构论述 作者: zhy2111314 来自: LinuxSir.Org ouc.edu.cn 摘要: 本文是理论性文档,主要讲述系统引导过程以及硬盘的物理结构: +++++++ ...

  9. Linux Reader单文件版,Linux Reader(查看Linux硬盘分区)

    Linux Reader(查看Linux硬盘分区)正式版 Linux Reader(查看Linux硬盘分区)正式版是款针对Windows环境下打造的Linux分区文件工具.Linux硬盘分区查看可以直 ...

  10. linux磁盘写保护怎么修改_用\RAID 0.0999\ 写保护 Linux 硬盘分区-me09-ChinaUnix博客...

    用"RAID 0.0999" 写保护 Linux 硬盘分区 计 算机科学家 David Wheeler 有一句名言:"计算机科学中的任何问题,都可以通过加上一层逻辑层来解 ...

最新文章

  1. 谷歌排名第一的编程语言,死磕它这两点,小白也能学的会!不信你看!
  2. 波士顿动力的机器狗上班了!巡逻、检测不在话下,挪威公司为其编发工号
  3. Oracle 数据库sql语句查看字符集,PG数据库查询字符集方法
  4. 星际战争2服务器维护,星际战争2初次反击虚空技能洗练技巧
  5. python3 for_Python3: for 表达式
  6. .NET Core开发实战(第16课:选项数据热更新:让服务感知配置的变化)--学习笔记...
  7. ios中解决图片渲染问题
  8. java 什么是类的继承_Java基础,类的继承,粗略的理解希望对大家有所帮助!
  9. 2021人工智能竞赛白皮书:1000场竞赛的深度分析
  10. 【深度学习】使用预训练模型
  11. HDU 4389——X mod f(x)(数位DP)
  12. APP一键登录测试点
  13. Javascript-放大镜实现原理分析
  14. react实现markdown编辑器
  15. python 关于sys.argv[1]语句报错IndexError: list index out of range的解决
  16. 【xinput1_3.dll下载】xinput1_3.dll丢失怎么修复win10
  17. schedule问题
  18. JavaScript实现页面加载成功后刷新一遍当前页面(一)
  19. 卷积神经网络评估模型讲解
  20. apche和nginx分别与php的连接方式区别

热门文章

  1. 在linux下安装mplayer和解码器
  2. 【原创】pads2007 Layout 电气连接性检查过孔显示错误
  3. WarDrive:使用Backtrack 4中的Kismet进行嗅探并使用GE绘制地图的简明攻略
  4. Grasshopper不显示gha插件的解决方法
  5. 2022年Java面试宝典【4万字带答案】
  6. velocity语法
  7. 计算机网页加载失败如何解决方法,驱动程序加载失败的常见解决方案
  8. 精通javascript学习笔记
  9. linux异步io底层原理,异步IO简析
  10. 微博爬虫思路:Python通过移动端接口爬取,简单易操作