zoukankan      html  css  js  c++  java
  • Centos, Redhat, ubuntu, linux根目录扩容

    更多IT系统运维、大数据实战、项目管理、商务英语及应用知识,扫描下方二维码关注公众号了解更多!!!

                                                        

    Linux的根分区已经使用率达到100%,以至于服务不能正常进行,以下内容向大家讲解如何扩展根目录的大小。

    首先,介绍下大体的解决思路,要想扩充,硬件上要有准备,说白了也就是要有一块新的磁盘空间来供我们使用。对于实体机需要准备一块新的硬盘或未被使用的分区,对于虚拟机,我们只需要使用vmware自带的软件扩充下磁盘大小。

    扩充磁盘,只意味着硬件条件得到满足。接下来就需要对新的磁盘空格进行合理的操作,来扩充我们需要的分区。

    值得注意的是,这里我们基于LVM来操作的。如果您的环境不是LVM的,可以考虑改成LVM的,否则后文无需再读。具体执行过程将细细道来。

    第一步、使用VMware工具扩容分配的硬盘空间

    在Linux下,直接敲入vmware-vdiskmanager ,可执行该指令扩充使用的指令: vmware-vdiskmanager -x 16Gb myNewlinux.vmdk

    说明:要扩容的系统这时不能在运行 ,参数 "-x" 表示要扩展虚拟机硬盘空间,紧随其后的数字是要扩展到的大小 ,而非增加量 (本例为扩展到 16GB ,这是一个磁盘总量,包含了原先的磁盘容量 ) 。 最后是指定要操作的虚拟机磁盘的具体文件,要是路径名中有空格,必须以双引号括起来。按回车键开始执行,执行完毕,退出命令提示符窗口,重启 VMware ,会发现虚拟机硬盘空间已变成 16GB 了。

    2、我们重启虚拟机后,发现虚拟机的硬盘是变成 16GB 了,但进入 linux 系统后,用 "df -h"查看发现硬盘空间还是原先那么大。 虽然已经扩大了磁盘,但是由于还没有经过分区,指定文件系统,所以 linux 操作系统无法识别。其实就相当于你的硬盘虽然大了,但是你并没有对其进行分区是一个道理。

    第二步、使用Linux下的fdisk工具进行分区

    首先,需要以root身份登录系统。

    fdisk 命令: fdisk -l : 打印当前的磁盘分区表

    fdisk /dev/sda   “sda 就是经过扩容的硬盘,是对该硬盘进行操作 ” 
    键入 :    m    “ 列出 fdisk 的帮助 ”  
    键入:     n    ” 命令 n 用于添加新分区 "             / /逻辑分区呢(编号从 5 开始)还是主分区(编号 1 到 4 )。

    选择主分区吧,则键入 p ;选择逻辑分区键入 l 。 
    我们选择主分区于是: 
    键入:    p               " 选择创建主分区 "

    此时, fdisk 会让你选择主分区的编号,如果已经有了主分区 sda1 , sda2 ,那么编号就选3 ,即要创建的该分区为 sda3. 
    键入:     3 
    此时, fdisk 又会让你选择该分区的开始值这个就是分区的 Start 值( start cylinder );这里最好直接按回车, 如果您输入了一个非默认的数字,可能会造成空间浪费;

    对于分区的 End 值(end cylinder),同样直接按回车。这时候会显示出你新建分区的柱面范围和空间大小。

    此时键入: w    表示" 保存所有并退出,分区划分完毕 "

    具体步骤如下:

    我们的新建磁盘分区/dev/sda3,却不是LVM的。所以,接下来使用fdisk将其改成LVM的。

    [root@CNGI-SIP6-BUPT ~]# fdisk /dev/sda
    Command (m for help): m 
    Command (m for help): t     //改变分区系统id      
    Partition number (1-4): 3    //指定分区号
    Hex code (type L to list codes): 8e     //指定要改成的id号,8e代表LVM。
    Command (m for help): w

    我们现在还不能用这个分区 , 因为我们没格式化。这时要重启系统就能够在 dev 下面看到 sda3 ,如果不重启不能进行下面操作。

    重启后,在此查看fdisk -l
    Device Boot      Start         End      Blocks   Id System
    /dev/sda1   *           1          13      104391   83 Linux
    /dev/sda2              14        1044     8281507+ 8e Linux LVM
    /dev/sda3            1045        2088     8385930   8e Linux LVM

    可以看到/dev/sda3已支持LVM。

    第三步、格式化该新添加的分区

    键入: 
    mkfs -t ext3 /dev/sda3 
    或者 
    mkfs.ext3 /dev/sda3

    第四步、扩充根分区

    接着,使用vgextend 命令加到lvm组里面去,做如下操作:

    [root@CNGI-SIP6-BUPT ~]# lvs
    LV       VG         Attr   LSize Origin Snap% Move Log Copy% Convert
    LogVol00 VolGroup00 -wi-ao 3.97G                                      
    LogVol01 VolGroup00 -wi-ao 3.91G                                      
    [root@CNGI-SIP6-BUPT ~]# pvcreate /dev/sda3
    Physical volume "/dev/sda3" successfully created
    [root@CNGI-SIP6-BUPT ~]# vgextend VolGroup00 /dev/sda3 (其中是当前需要扩充的lvm组名,可以通过df -h查看,例如我的是: /dev/mapper/VolGroup00-LogVol00) 
    Volume group "VolGroup00" successfully extended
    You have new mail in /var/spool/mail/root
    [root@CNGI-SIP6-BUPT ~]# vgdisplay
    --- Volume group ---
    VG Name               VolGroup00
    System ID             
    Format                lvm2
    Metadata Areas        2
    Metadata Sequence No 4
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                2
    Open LV               2
    Max PV                0
    Cur PV                2
    Act PV                2
    VG Size               15.84 GB
    PE Size               32.00 MB
    Total PE              507
    Alloc PE / Size       252 / 7.88 GB
    Free PE / Size       255 / 7.97 GB
    VG UUID               3vSeag-Q74D-Gn1b-OHEq-zyH1-YgSO-ThhBCp
       
    [root@CNGI-SIP6-BUPT ~]#

    主要查看Free PE / Size       255 / 7.97 GB,说明我们最多可以有7.97G的扩充空间。

    最后,给根分区增加空间

    [root@CNGI-SIP6-BUPT ~]# lvextend -L +7.96G /dev/VolGroup00/LogVol00 /dev/sda3
    Rounding up size to full physical extent 7.97 GB
    Extending logical volume LogVol00 to 11.94 GB
    Logical volume LogVol00 successfully resized
    [root@CNGI-SIP6-BUPT ~]#

    [root@CNGI-SIP6-BUPT ~]# vim /etc/fstab

    /dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
    LABEL=/boot             /boot                   ext3    defaults        1 2
    tmpfs                   /dev/shm                tmpfs   defaults        0 0
    devpts                  /dev/pts                devpts gid=5,mode=620 0 0
    sysfs                   /sys                    sysfs   defaults        0 0
    proc                    /proc                   proc    defaults        0 0
    /dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
    ~
    逻辑卷现在使用的就是ext3的文件系统最后扩展一下文件系统,此处不需要卸载,就ok了

    要先做fsck,检查文件系统:e2fsck -f /dev/VolGroup00/LogVol00

    告诉系统,分割区大小有调整了,以下以实际情况为主
    [root@CNGI-SIP6-BUPT ~]# resize2fs /dev/VolGroup00/LogVol00 
    resize2fs 1.39 (29-May-2006)
    Filesystem at /dev/VolGroup00/LogVol00 is mounted on /; on-line resizing required
    Performing an on-line resize of /dev/VolGroup00/LogVol00 to 3129344 (4k) blocks.
    The filesystem on /dev/VolGroup00/LogVol00 is now 3129344 blocks long.

    原来在ucloud上面买了一个服务器,结果根目录上面只有20G,/data挂载点下面有500G,没多久/根目录存储空间用完了,所以要扩展

    linux的文件模式分为lvm模式和普通的非lvm模式,云服务器包括ucloud云,阿里云等等都是非lvm模式的,例如输入vgdisplay没有输出

    自己安装的操作系统一般都是有lvm格式的,有lvm模式的修改存储空间起来很方便

    lvm优点:因为一个挂载点不能同时有两个文件系统Filesystem,要用也可以会产生很多问题,如果根目录挂载只有一块20G的小磁盘,就算加磁盘也不能扩容根目录,如果想扩容必须把整个文件移动,可能会有其它问题。用lvm的模式,中间就多了一层逻辑层,我们可以只管跟lvm打交道,逻辑卷对应挂载点,其实一块挂载点在用几个文件磁盘,中间的整合lvm帮我们做了

    问题:ucloud特别的坑爹,非lvm模式,而且给了一个20G的单独小磁盘,根本很难扩容,阿里云也是非lvm模式,不过是一块大的磁盘应该可以扩容

  • 相关阅读:
    总结6.6 PHP后台登录和文件上传
    【017期】JavaSE面试题(十七):JVM之内存模型
    【016期】JavaSE面试题(十六):反射
    【015期】JavaSE面试题(十五):网络IO流
    【014期】JavaSE面试题(十四):基本IO流
    【013期】JavaSE面试题(十三):多线程(3)
    【012期】JavaSE面试题(十二):多线程(2)
    【011期】JavaSE面试题(十一):多线程(1)
    【010期】JavaSE面试题(十):集合之Map
    【009期】JavaSE面试题(九):集合之Set
  • 原文地址:https://www.cnblogs.com/xk-bench/p/14788875.html
Copyright © 2011-2022 走看看