问题现象

随着IT行业在全球范围内的快速发展,IT平台的规模和复杂程度出现了大幅度的提升,但是,高昂的硬件和运维管理成本、漫长的业务部署周期以及缺乏统一管理的基础架构为企业IT部门制造了重重障碍。云计算技术颠覆性的改变了传统IT行业的消费模式和服务模式,消费者实现了从以前的“购买软硬件产品”向“购买IT服务”转变,并通过Internet自助式的获取和使用服务,大大提高了IT效率和敏捷性。

本文分两部分,首先分享H3Cloud OS安装过程中手动分区的操作详细步骤;其次分享经验:如何解决因默认分区带来根分区空间过小;导致制作云主机镜像时,根分区利用率达100%的问题。

原因分析

由于CentOS 7安装过程中默认分区的情况下,将根分区划分较小,而H3Cloud OS使用到的虚机镜像文件存放于分区/var/lib/glance/images目录下,并且镜像文件一般较大几个G甚至是几十G的大小,很快将根分区磁盘空间占用完。

根分区空间不足最终导致Docker容器进程异常。

解决办法

1、 H3Cloud OS安装部署规范检查

需要对照《H3Cloud云操作系统 单机模式部署指导》或《H3Cloud云操作系统集群模式部署指导》检查安装选择的服务器性能是否符合配置要求。并且虚拟机的配置不能低于同等配置的物理机。该配置是我们推荐的运行H3Cloud OS最基本的部署要求,请严格执行。

2、 H3Cloud OS安装过程中如何手动自定义分区大小

H3Cloud OS安装过程与CentOS 7Linux操作系统类似,分区必须要存在根分区(用符号表示为“/”)和Swap分区(也成为交换分区)。

其中根分区是文件系统的最根本的挂载点,任何分区或文件都挂载于根分区下,如果以一颗倒着树来比作Linux的文件系统,那么根分区则是树根,树干和所有的枝叶都基于它而存在。

交换分区也称为虚拟内存,顾名思义就是针对内存不足问题。Linux操作系统一大优势是对老设备的兼容性良好,对资源要求低,为解决设备内存不足问题,Linux系统将硬盘划分交换分区来虚拟内存,当内存不足时,交换分区便充当内存使用。一般情况下(内存远小于磁盘容量),建议交换分区为服务器或个人PC物理内存的13倍之间,更大的配额是允许的,但是具体分配是需要结合实际物理内存容量。如今的服务器内存配置充裕情况下(尤其是内存大于磁盘容量时),只需象征性给出10G甚至更小的分区即可。

使用free命令可以直观查看交换分区大小及使用情况,具体如图-1所示:

-1 free命令查看交换分区

下文结合对应截图细述H3Cloud OS安装过程中分区自定义划分。

第一步,选择“Install H3Cloud OS”,按“enter”键,进行安装,如图-2所示:

-2 选择“Install H3Cloud OS”进行安装操作

【说明】:介于实验室环境资源有限,本文安装H3Cloud OS的虚机磁盘大小为80G,内存为4GCPU4核。客户实际环境需要参考安装文档推荐资源配置,严禁以本文具体资源配置用于实际生产环境。

第二步,在“INSTALLATION SUMMARY”界面选择安装语言,默认为英文。具体如图-3所示:

-3 选择语言

第三步,对云操作系统可以选择中文(此处中文是待安装的云操作系统的系统语言,不是安装过程的中文显示。),但建议采用英文环境(未安装中文输入法,切换中文路径不方便)具体如图-4所示:

-4 选择中文

第四步,点击“SOFTWARE SELECTION”选择软件,具体如图-5所示:

-5 选择软件

第五步,此处选择“H3Cloud OS Master Node”,具体参照单机或集群安装文档,此处如图-6所示:

-6 选择软件包

第六步,选择“INSTALLATION DESTINATION”,如图-7所示:

-7  选择“INSTALLATION DESTINATION

第七步,进入分区界面,选择“I will configure partitioning”为自定义模式,如图-8所示:

-8 选择“I will configure partitioning”自定义分区

第八步,进入“MANUAL PARTITIONING”界面,显示默认分区情况,如图-9所示:

-9 MANUAL PARTITIONING”界面显示默认分区情况

第九步,调整分区,点击“-”可以删除原有分区,此处保留交换分区,其他分区自定义调整,如图-10所示:

-10 调整分区

增加/boot分区,用来存放操作系统核心文件,如图-11所示:

-11 增加/boot分区

增加根分区(即“/”分区),如图-12所示:

-12 增加大小为50G的根分区,如图-13所示:

-13 增加根分区

增加大小为20G/var分区,该分区下存放云主机镜像(存放路径:/var/lib/glance/images),建议提前和客户沟通,以分配充裕的空间满足客户镜像需求。分区如图-14所示:

-14 增加/var分区

完成分区后,查看全部分区结果,如图-15所示:

-15 查看分区结果

第十步,点击“Done”,弹出“SUMMARY OF CHANGES”,如图-16所示:

-16 SUMMARY OF CHANGES页面

第十一步,选择上图中“Accept Changes”,进入安装界面,如图-17所示:

-17 安装界面,选择“Begin Installation”按钮

第十二步,软件安装完成,如图-18所示:

-18 软件安装完成

第十三步,重启,登陆H3Cloud OS后台,验证分区结果,如图-19所示:

-19 验证分区结果

至此,上述共13步详细给出自定义分区操作步骤及说明。

3、 H3Cloud OS安装后如何实现分区大小调整

当安装过程中未选择自定义分区时,由于默认选择为LVMLogical Volume Manager逻辑卷管理,简单地讲能动态调整Linux主机分区大小)。因此可以参考下述经验对分区进行调整。

【说明】此处实验主机配置:350G磁盘,4G内存,4CPU,如图-20所示

-20 主机配置

此处主要关心磁盘大小,本文目的是调整磁盘分区,以解决主机镜像存放目录/var/lib/glance/images所在分区空间不足问题。

选择默认安装,未自定义划分分区,如图-21所示:

-21 安装过程选择默认分区情况

完成安装后,查看分区结果,每一个分区可以对照WINDOWS系统下的盘符,如图-22所示:

-22 查看默认分区结果

系统默认分区会根据总磁盘容量大小,进行LVM智能分区,分区是默认为个人PC主机,因此对/home目录(通常称为家目录)划分80%左右的空间,主要目的是存放个人文件,当根分区出现故障时,由于“/”和“/home”是独立分区,“/home”分区内用户数据依然完整,此时最坏的情况是重装或修复“/”分区,并不会造成“/home”分区数据丢失,能保护用户数据。

而此时在大云环境中/var/lib/glance/images目录所在分区为根分区(默认情况下未划分独立/var分区),因此空间大小受限于根分区。

根分区大小为50G,占总空间350G14.29%

家目录大小为296G,占总空间350G84.57%

从实际使用情况家目录由于不是个人PC应用场景(即不存放个人数据)严重浪费,而根分区则配额不足,一般主机镜像在3G到几十个G之间,客户需要win7win2008,及不同Linux版本镜像时根分区大小不能满足要求。

此时根据下述分享经验进行分区调整。

【注意事项说明】:此方法是减少家目录(/home)的大小,将减小的空间增加到根分区(/目录)上,但XFS文件系统的分区空间无法缩小,导致/home目录无法缩小,所以最后需要备份/home目录中的数据,删除/home目录的lvm卷,然后重建/home目录,操作之前一定要在虚拟机操作一遍,然后再到生产环境修改,有问题及时联系售后。

第一步,运行lvdisplay命令,查看lvm分区情况:

[root@cloudos1 ~]# lvdisplay

  --- Logical volume ---

  LV Path                /dev/ho_cloudos1/swap

  LV Name                swap

  VG Name                ho_cloudos1

  LV UUID                UKwQS9-CjpJ-XRRz-BCng-h4IB-hdbC-KemkES

  LV Write Access        read/write

  LV Creation host, time localhost, 2016-05-15 11:13:04 +0800

  LV Status              available

  # open                 2

  LV Size                3.88 GiB

  Current LE             992

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     8192

  Block device           253:0

  

  --- Logical volume ---

  LV Path                /dev/ho_cloudos1/home

  LV Name                home

  VG Name                ho_cloudos1

  LV UUID                0W1D1T-keel-EOno-KxgW-88tp-BNqz-wvHv6L

  LV Write Access        read/write

  LV Creation host, time localhost, 2016-05-15 11:13:04 +0800

  LV Status              available

  # open                 1

  LV Size                295.57 GiB

  Current LE             75666

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     8192

  Block device           253:2

  

  --- Logical volume ---

  LV Path                /dev/ho_cloudos1/root

  LV Name                root

  VG Name                ho_cloudos1

  LV UUID                hwmhD7-OwP5-0DcS-cDkT-SCfn-fnsX-ESCy6N

  LV Write Access        read/write

  LV Creation host, time localhost, 2016-05-15 11:13:36 +0800

  LV Status              available

  # open                 1

  LV Size                50.00 GiB

  Current LE             12800

  Segments               1

  Allocation             inherit

  Read ahead sectors     auto

  - currently set to     8192

  Block device           253:1

  

第二步,运行umount /home命令,卸载家目录,结果如下图-23所示:

-23 卸载家目录

第三步,减小家目录磁盘空间至100G,运行lvreduce -L 100G   /dev/ho_cloudos1/home命令,如图-24所示:

-24 减小家目录空间至100G

第四步,查看物理可分配空间大小,运行vgdisplay –v命令,如图-25所示:

-25 查看物理空间可分配空间大小

Free PE50082表示为可分配大小。

第五步,运行lvextend -l +50082  /dev/ho_cloudos1/root命令调整分区,如图-26所示:

-26 调整物理分区

第六步,激活空间变化项,运行xfs_growfs /dev/ho_cloudos1/root命令,如图-27所示:

-27 使能空间变化项

第七步,新建/root/homebackup目录,备份/home目录下数据,如图-28所示:

-28 备份/home目录下数据

第八步,卸载家目录,删除家目录的逻辑卷,先运行umount   /home确保家目录处于未挂载状态,再运行lvremove   /dev/ho_cloudos1/home命令删除逻辑卷。如图-29所示:

-29 删除家目录逻辑卷

当输入umount /home命令时返回“umount: /home/: not mounted”表明家目录当前未处于挂载状态。

第九步,创建家目录的逻辑卷,运行lvcreate  -L   100G  -n  home ho_cloudos1命令,如图-30所示:

-30 创建家目录逻辑卷

第十步,格式化新建的家目录,运行mkfs.xfs  /dev/ho_cloudos1/home命令,如图-31所示:

-31 格式化新建家目录

第十一步,挂载家目录,运行mount  /dev/ho_cloudos1/home  /home命令,如图-32所示:

-32 挂载家目录

第十二步,查看调整后分区明细,运行df –h命令,如图-33所示:

-33 查看分区后明细

第十三步,恢复家目录下数据,运行cp –rp /root/homebackup /home命令,如图-34所示:

-34 恢复数据

上述通过13个详细步骤并结合截图,给出调整分区操作。

 

 

案例信息

案例类型:经验案例
案例号:201610300002
创建时间:2016年12月6日
更新时间:2016年12月12日
发布时间:2016/12/12 11:05:39
文章密级:游客可见
有效期:长期有效
发布者:肖李 [x10935]
点击次数:2753
评论平均得分:0
关键词:H3Cloud OS, 根分区, 分区划分, H3Cloud OS安装,分区扩充,分区过小
产品线:云平台
产品系列:H3Cloud OS
产品版本:
故障类型:

常用操作
收藏