如果这篇文章没有解决你的话可以去这找找:长期不断更新)宝塔面板(liunx)使用教程


昨天突然发现网站打不开了,就登录面板去看了下,发现数据盘满了。(数据盘只有10G)所以就试着操作硬盘扩容,最终成功(成功后保留原来的数据是保留的,中间操作备份只是为了以防万一),详细教程如下:

先说服务器配置:

IDC商:阿里云

操作系统:CentOS 7.2 64位

首先硬盘扩容前,安全起见请通过磁盘快照功能备份服务器系统盘与数据盘

然后在主机管理面板操作磁盘扩容购买

注意事项:购买后需要重启服务器

接下来按照如下操作进行:

  1. 远程连接服务器。
  2. 运行 umount [文件系统名称] 命令卸载主分区。
    注意事项:这里操作的时候如果出现报错,先关闭swap分区跟卸载主机监控以及宝塔相关服务(关闭命令参考:宝塔Linux面板命令及各软件安装路径大全),具体命令为:(1)关闭swap分区:swapoff -a (2)卸载主机监控

sudo bash -c "/usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh remove && rm -rf /usr/local/cloudmonitor"

    1. umount /dev/vdb1

    使用 df -h 查看是否卸载成功,如果看不到 /dev/vdb1 的信息表示卸载成功。以下为示例输出结果。

    1. [root@iXXXXXX ~]# df -h
    2. Filesystem Size Used Avail Use% Mounted on
    3. /dev/vda1 40G 1.5G 36G 4% /
    4. devtmpfs 487M 0 487M 0% /dev
    5. tmpfs 497M 0 497M 0% /dev/shm
    6. tmpfs 497M 312K 496M 1% /run
    7. tmpfs 497M 0 497M 0% /sys/fs/cgroup
    8. tmpfs 100M 0 100M 0% /run/user/0
  1. 使用 fdisk 命令删除原来的分区并创建新分区:

    如果您使用 parted 工具操作分区,不能与 fdisk 交叉使用,否则会导致分区的起始扇区不一致。关于 parted 工具的使用说明可以参考这里

    1. 运行命令 fdisk -l 罗列分区信息并记录扩容前数据盘的最终容量、起始扇区(First sector)位置。
    2. 运行命令 fdisk [数据盘设备名] 进入 fdisk 界面。本示例中,命令为 fdisk /dev/vdb
    3. 输入 d 并按回车键,删除原来的分区。

      删除分区不会造成数据盘内数据的丢失。

    4. 输入 n 并按回车键,开始创建新的分区。
    5. 输入 p 并按回车键,选择创建主分区。因为创建的是一个单分区数据盘,所以只需要创建主分区。

      如果要创建 4 个以上的分区,您应该创建至少一个扩展分区,即选择 e

    6. 输入分区编号并按回车键。因为这里仅创建一个分区,所以输入 1。
    7. 输入第一个可用的扇区编号:为了保证数据的一致性,First sector 需要与原来的分区保持一致。在本示例中,按回车键采用默认值。

      如果发现 First sector 显示的位置和之前记录的不一致,说明之前可能使用 parted 来分区,那么就停止当前的 fdisk 操作,使用 parted 重新操作。

    8. 输入最后一个扇区编号:因为这里仅创建一个分区,所以按回车键采用默认值。
    9. 输入 wq 并按回车键,开始分区。
      1. [root@iXXXXXX ~]# fdisk /dev/vdb
      2. Welcome to fdisk (util-linux 2.23.2).
      3. Changes will remain in memory only, until you decide to write them.
      4. Be careful before using the write command.
      5. Command (m for help): d
      6. Selected partition 1
      7. Partition 1 is deleted
      8. Command (m for help): n
      9. Partition type:
      10. p primary (0 primary, 0 extended, 4 free)
      11. e extended
      12. Select (default p):
      13. Using default response p
      14. Partition number (1-4, default 1):
      15. First sector (2048-62914559, default 2048):
      16. Using default value 2048
      17. Last sector, +sectors or +size{K,M,G} (2048-62914559, default 62914559):
      18. Using default value 62914559
      19. Partition 1 of type Linux and of size 30 GiB is set
      20. Command (m for help): wq
      21. The partition table has been altered!
      22. Calling ioctl() to re-read partition table.
      23. Syncing disks.

      如果您使用的是 parted 工具,进入 parted 界面后,输入 p 罗列当前的分区情况。如果有分区,则使用 rm+ 序列号来删除老的分区表,然后使用 unit s 定义起始位置,单位使用扇区个数计量,最后使用 mkpart 命令来创建即可,如下图所示。
      ECS_ResizeDisk_Parted

  2. (非CentOS可跳过)执行 df -h 重新查看磁盘空间和使用情况。如果文件系统重新被挂载,执行 umount [文件系统名称] 再次卸载文件系统。
  3. 检查文件系统,并变更文件系统大小。
    1. e2fsck -f /dev/vdb1 # 检查文件系统
    2. resize2fs /dev/vdb1 # 变更文件系统大小

    注意:

    • 使用 e2fsck 时,由于系统需要检查并订正文件系统元数据,所以速度较慢、耗时较长,请耐心等待。
    • 正确使用 e2fsckresize2fs 指令,不会造成原有数据丢失。

    以下为示例输出结果。

    1. [root@iXXXXXX ~]# e2fsck -f /dev/vdb1
    2. e2fsck 1.42.9 (28-Dec-2013)
    3. Pass 1: Checking inodes, blocks, and sizes
    4. Pass 2: Checking directory structure
    5. Pass 3: Checking directory connectivity
    6. Pass 4: Checking reference counts
    7. Pass 5: Checking group summary information
    8. /dev/vdb1: 11/1835008 files (0.0% non-contiguous), 159218/7339776 blocks
    9. [root@iXXXXXX ~]# resize2fs /dev/vdb1
    10. resize2fs 1.42.9 (28-Dec-2013)
    11. Resizing the filesystem on /dev/vdb1 to 7864064 (4k) blocks.
    12. The filesystem on /dev/vdb1 is now 7864064 blocks long.
  4. 将扩容完成的文件系统挂载到原来的挂载点(如本示例中的 /resizetest)。
    1. mount /dev/vdb1 /resizetest
  5. 查看磁盘空间和使用情况:运行命令 df -h。如果出现扩容后的文件系统信息,说明挂载成功,可以使用扩容后的文件系统了。

    挂载操作完成后,不需要在控制台上重启实例即可开始使用扩容后的文件系统。

    以下为示例输出结果。

    1. [root@iXXXXXX ~]# df -h
    2. Filesystem Size Used Avail Use% Mounted on
    3. /dev/vda1 40G 1.5G 36G 4% /
    4. devtmpfs 487M 0 487M 0% /dev
    5. tmpfs 497M 0 497M 0% /dev/shm
    6. tmpfs 497M 312K 496M 1% /run
    7. tmpfs 497M 0 497M 0% /sys/fs/cgroup
    8. tmpfs 100M 0 100M 0% /run/user/0
    9. /dev/vdb1 30G 44M 28G 1% /resizetest