Linux挂载硬盘扩容方法-阿里云,腾讯云和Linode VPS挂载硬盘扩容

如果你是在经典VPS这样的采用WHMCS+VPS管理平台架构的主机商那里,那么扩容硬盘就需要自己升级整个VPS主机套餐了。但是如果是在Linode、阿里云以及腾讯云等这样的云主机商那里购买的VPS主机,那么当硬盘满了之后都是支持单独扩容硬盘。

硬盘挂载还有一个好处就是可以将数据存放在可挂载的硬盘,当你更换VPS主机时可以先从原VPS主机上卸载掉硬盘,然后重新在新的VPS主机上挂载,这样原来存放在硬盘中的数据依然在新的VPS主机保留下来了,这个特别有利于大存储网站的迁移。

这里我们就来分享一下Linode阿里云以及腾讯云VPS主机挂载硬盘的方法,由于在挂载硬盘之前一般要对硬盘进行格式化,所以建议在挂载硬盘之前一定对自己的网站做好备份工作,Linode、阿里云和腾讯云都是自带快照功能,在挂载硬盘前可以先建立一个快照。

Linux挂载硬盘扩容方法-阿里云,腾讯云,Linode挂载硬盘扩容方法

更多的关于Linux VPS主机使用方法及操作技巧,这里还有:

  1. Linux系统监控命令整理汇总-掌握CPU,内存,磁盘IO等找出性能瓶颈
  2. Linux的php-fpm优化心得-php-fpm进程占用内存大和不释放内存问题
  3. Linux共享文件夹目录三种方法-NFS远程挂载,GlusterFS共享存储和samba共享目录

PS:更新记录。

1、想要自建对象存储服务的,可以试试这几款开源免费的自建程序:六个开源免费对象存储程序收集整理-自建兼容S3云存储协议对象存储。2023.2.2

2、Linode的S3对象存储可以直接挂载到Linode VPS主机:Linode对象存储管理与使用教程-兼容 S3 协议的对象存储价格便宜超大存储。2022.11.8

3、如果你的硬盘存储总是处在变动当中,可以尝试动态扩容,“一劳永逸”地解决存储容量不足的问题:Linux独立服务器和VPS主机硬盘动态扩容-LVM逻辑卷扩大缩小方法。2019.3.1

一、阿里云VPS挂载磁盘扩容

1.1  挂载注意事项

阿里云VPS单独购买的云盘想要挂载在VPS上需要注意以下两点:

1.云盘只能挂载到同一地域下同一可用区内的实例上,不能跨可用区挂载。

2.一台ECS实例最多能挂载16块云盘作数据盘用,同一时刻,一块云盘只能挂载到一个台实例上。

阿里云挂载磁盘时,云盘的状态必须为 待挂载(Available)。在左侧导航栏中,选择 存储 > 云盘。 选择地域。 找到 待挂载 云盘,在 操作 列中,选择 更多 > 挂载。

阿里云VPS挂载磁盘待挂载

在弹出对话框中,完成以下设置:

1.目标实例:只能选择同一可用区的ECS实例。

2.磁盘随实例释放:如果选中,当实例释放时,该云盘也会同时释放。

3.自动快照随磁盘释放:如果选中,当云盘释放时,该云盘创建的所有自动快照都会一起释放,但手动快照不会释放。建议您不要选择该选项,保留备份数据。

4.完成设置后,单击 执行挂载。

阿里云VPS挂载磁盘执行开始

如果有对阿里云VPS不了解的,可以查看挖站否之前的文章:阿里云国际版香港机房速度与性能评测-速度快但磁盘IO和内存是瓶颈

1.2  挂载具体步骤

在本示例中,我们用一个新的 20 G数据盘(设备名为 /dev/xvdb)创建一个单分区数据盘并挂载一个 ext3 文件系统。使用的实例是 I/O 优化实例,操作系统为 CentOS 6.8。

  1. 远程连接实例。
  2. 运行 fdisk -l 命令查看实例是否有数据盘。如果执行命令后,没有发现 /dev/vdb,表示您的实例没有数据盘,无需格式化数据盘,请忽略本文后续内容。
    1. 如果您的数据盘显示的是 dev/xvd?,表示您使用的是非 I/O 优化实例。
    2. 其中 ? 是 a−z 的任一个字母。
  3. 创建一个单分区数据盘,依次执行以下命令:
    1. 运行 fdisk /dev/vdb:对数据盘进行分区。
    2. 输入 n 并按回车键:创建一个新分区。
    3. 输入 p 并按回车键:选择主分区。因为创建的是一个单分区数据盘,所以只需要创建主分区。如果要创建 4 个以上的分区,您应该创建至少一个扩展分区,即选择 e
    4. 输入分区编号并按回车键。因为这里仅创建一个分区,可以输入 1
    5. 输入第一个可用的扇区编号:按回车键采用默认值 1。
    6. 输入最后一个扇区编号:因为这里仅创建一个分区,所以按回车键采用默认值。
    7. 输入 wq 并按回车键,开始分区。
      
      [root@iXXXXXXX ~]# fdisk /dev/vdb
      Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
      Building a new DOS disklabel with disk identifier 0x5f46a8a2.
      Changes will remain in memory only, until you decide to write them.
      After that, of course, the previous content won't be recoverable.
      Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
      WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
      switch off the mode (command 'c') and change display units to
      sectors (command 'u').
      Command (m for help): n
      Command action
      e extended
      p primary partition (1-4)
      p
      Partition number (1-4): 1
      First cylinder (1-41610, default 1): 1
      Last cylinder, +cylinders or +size{K,M,G} (1-41610, default 41610):
      Using default value 41610
      Command (m for help): wq
      The partition table has been altered!
      Calling ioctl() to re-read partition table.
      Syncing disks.
  4. 查看新的分区:运行命令 fdisk -l。如果出现以下信息,说明已经成功创建了新分区 /dev/vdb1。
    
    [root@iXXXXXXX ~]# fdisk -l
    Disk /dev/vda: 42.9 GB, 42949672960 bytes
    255 heads, 63 sectors/track, 5221 cylinders
    Units = cylinders of 16065 * 512 = 8225280 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00053156
    Device Boot Start End Blocks Id System
    /dev/vda1 * 1 5222 41942016 83 Linux
    Disk /dev/vdb: 21.5 GB, 21474836480 bytes
    16 heads, 63 sectors/track, 41610 cylinders
    Units = cylinders of 1008 * 512 = 516096 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x5f46a8a2
    Device Boot Start End Blocks Id System
    /dev/vdb1 1 41610 20971408+ 83 Linux
  5. 在新分区上创建一个文件系统:运行命令 mkfs.ext3 /dev/vdb1
    1. 本示例要创建一个 ext3 文件系统。您也可以根据自己的需要,选择创建其他文件系统,例如,如果需要在 Linux、Windows 和 Mac 系统之间共享文件,您可以使用 mkfs.vfat 创建 VFAT 文件系统。
    2. 创建文件系统所需时间取决于数据盘大小。
      
      [root@iXXXXXXX ~]# mkfs.ext3 /dev/vdb1
      mke2fs 1.41.12 (17-May-2010)
      Filesystem label=
      OS type: Linux
      Block size=4096 (log=2)
      Fragment size=4096 (log=2)
      Stride=0 blocks, Stripe width=0 blocks
      1310720 inodes, 5242852 blocks
      262142 blocks (5.00%) reserved for the super user
      First data block=0
      Maximum filesystem blocks=4294967296
      160 block groups
      32768 blocks per group, 32768 fragments per group
      8192 inodes per group
      Superblock backups stored on blocks:
      32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
      4096000
      Writing inode tables: done
      Creating journal (32768 blocks): done
      Writing superblocks and filesystem accounting information: done
      This filesystem will be automatically checked every 37 mounts or
      180 days, whichever comes first. Use tune2fs -c or -i to override.
  6. (建议)备份 etc/fstab:运行命令 cp /etc/fstab /etc/fstab.bak
  7. 向 /etc/fstab 写入新分区信息:运行命令 echo /dev/vdb1 /mnt ext3 defaults 0 0 >> /etc/fstab。Ubuntu 12.04 不支持 barrier,所以对该系统正确的命令是:echo '/dev/vdb1 /mnt ext3 barrier=0 0 0' >> /etc/fstab。如果需要把数据盘单独挂载到某个文件夹,比如单独用来存放网页,请将以上命令 /mnt 替换成所需的挂载点路径。
  8. 查看 /etc/fstab 中的新分区信息:运行命令 cat /etc/fstab
    
    [root@iXXXXXXX ~]# cat /etc/fstab
    #
    # /etc/fstab
    # Created by anaconda on Thu Feb 23 07:28:22 2017
    #
    # Accessible filesystems, by reference, are maintained under '/dev/disk'
    # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
    #
    UUID=3d083579-f5d9-4df5-9347-8d27925805d4 / ext4 defaults 1 1
    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/vdb1 /mnt ext3 defaults 0 0
  9. 挂载文件系统:运行命令 mount /dev/vdb1 /mnt
  10. 查看目前磁盘空间和使用情况:运行命令 df -h。如果出现新建文件系统的信息,说明挂载成功,可以使用新的文件系统了。 挂载操作完成后,不需要重启实例即可开始使用新的文件系统。
    
    [root@iXXXXXXX ~]# mount /dev/vdb1 /mnt
    [root@iXXXXXXX ~]# df -h
    Filesystem Size Used Avail Use% Mounted on
    /dev/vda1 40G 6.6G 31G 18% /
    tmpfs 499M 0 499M 0% /dev/shm
    /dev/vdb1 20G 173M 19G 1% /mnt

二、腾讯云VPS挂载磁盘扩容

1.  查看数据盘

关于腾讯云的VPS主机使用评测可以看看:腾讯云VPS主机性能速度评测-价格便宜10元/月1核2G内存VPS主机

登录Linux云服务器后,可以使用 fdisk -l  命令查看数据盘相关信息。

腾讯云VPS挂载磁盘查看信息

2. 数据盘分区

腾讯云挂载磁盘,首先是执行  fdisk /dev/vdb  命令,对数据盘进行分区。

腾讯云VPS挂载磁盘执行格式化

按照界面的提示,依次输入“n”(新建分区)、“p”(新建扩展分区)、“1”(使用第1个主分区),两次回车(使用默认配置),输入“w”(保存分区表),开始分区。

注:这里是以创建1个分区为例,开发者也可以根据自己的需求创建多个分区。执行以下命令时,请注意修改数据盘符,可以使用”fdisk -l”查看盘符等相关信息,以下均以vdb为例,若是其他盘符,仅需将vdb替换为该盘符即可。如fdisk /dev/vdb替换为fdisk /dev/xvdb。请确认路径为“/dev/vdb”,若错填为“/dev/vda”,将会造成云主机崩溃。

3.  查看新分区

使用 fdisk -l 命令,即可查看到,新的分区vdb1已经创建完成。

腾讯云VPS挂载磁盘新的分区建立

4.  格式化新分区

在进行分区格式化时,开发者可以自行决定文件系统的格式,如ext2、ext3等。本例以“ext3”为例,输入  mkfs.ext3 /dev/vdb1

腾讯云VPS挂载磁盘格式化分区

5.  挂载新分区

使用  mkdir /mydata  命令创建mydata目录,再通过  mount /dev/vdb1 /mydata  命令手动挂载新分区,最后用  df -h  命令查看。出现如图信息则说明挂载成功,即可以查看到数据盘了。

腾讯云VPS挂载磁盘成功提示

6.  自动挂载数据盘

如果希望云服务器在重启或开机时能自动挂载数据盘,必须将分区信息添加到/etc/fstab中。如果没有添加,则云服务器重启或开机后,都不能自动挂载数据盘。使用  echo ‘/dev/vdb1 /mydata ext3 defaults 0 0’ >> /etc/fstab  命令添加分区信息。使用  cat /etc/fstab 命令查看,出现如图信息则说明添加分区信息成功。

腾讯云VPS挂载磁盘自动挂载

注:请确认分区路径是否为 “/dev/vdb1”,若路径错误,将会造成云主机重启失败。

三、Linode VPS挂载硬盘扩容

Linode VPS主机实现硬盘扩容有两种方法,一种是通过Linode的磁盘编辑直接在原有的磁盘上增加空间容量,实现扩容;另一种就是采用Linux挂载硬盘实现的扩容的通用方法。更多关于Linode主机使用方法见:Linode优秀VPS主机使用体验-Linode VPS性能速度评测与使用问题

3.1  Linode VPS升级硬盘

首先,进入到Linode VPS管理后台,然后点击升级,这里就会列出不同的VPS主机套餐。

Linode VPS升级硬盘套餐

升级完成后,如果现在就进入到VPS查看硬盘容量的话,显示的依然还是原来的硬盘容量。

Linode VPS升级硬盘显示原来的容量

我们需要进入到Linode VPS控制面板,然后在磁盘选项中点击编辑。

Linode VPS升级硬盘编辑磁盘

在这里我们就可以将升级后的VPS主机多出来的硬盘空间增加原来的VPS主机上了。

Linode VPS升级硬盘重新分配

现在我们再次进入到Linode VPS查看硬盘容量,可以看到新的空间已经增加到了VPS上了。

3.2  Linode挂载Block Storage

Linode的Block Storage,其实和上面的腾讯云数据盘、阿里云云盘是一样的,独立于VPS主机,可以在不同的VPS主机挂载与卸载。

添加了Block Storage后,在VPS列表界面—》Manage Volumes—》点击需要挂载的Volume—》选择需要挂载的VPS—》挂载至VPS。(点击放大)

 Linode挂载Block Storage

列出所有磁盘

lsblk

格式化磁盘

进入磁盘主界面找到Filesystem Path,使用命令 mkfs.ext4 Filesystem Path 格式化磁盘

mkfs.ext4 /dev/disk/by-id/scsi-0Linode_Volume_test-1

挂载磁盘

创建一个目录作为挂载点

mkdir /mnt/test-1

挂载磁盘到挂载点

mount /dev/disk/by-id/scsi-0Linode_Volume_test-1 /mnt/test-1

查看所有已挂载磁盘

df -kh

卸载磁盘

umount /mnt/test-1

用于在不同VPS之间转移磁盘时使用

存储文件

挂载点路径即磁盘入口,只需要将文件保存至路径 /mnt/test-1 下即可 。FTP连接后,进入 /mnt/test-1 目录即可看到磁盘下的文件系统

Linux挂载硬盘成功

四、总结

上面我们在对新硬盘进行格式化操作时用的是ext3 文件系统,其实还有ext4文件系统。一般来说ext3足够我们使用的,ext4相对于ext3的优势在于Ext4 分别支持 1EB的文件系统以及 最大16TB 的文件,无限数量的子目录,支持更大的 inode。

Linux挂载硬盘选择格式

无论是阿里云,腾讯云还是Linode,在购买挂载硬盘前一定要记得备份原有的数据。尤其是Linux某些目录需要挂载硬盘扩容时,挂载硬盘后会清除掉原来目录中的数据,如果你是原有的网站数据都在这个目录下,请记得先将它们转移出来。

文章出自:挖站否 https://wzfou.com/linux-guazai-disk/,内容参考来自 minirplusqcloudaliyun版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。


分享到:
Avatar for Qi
关于站长(Qi),2008年开始混迹于免费资源圈中,有幸结识了不少的草根站长。之后自己摸爬滚打潜心学习Web服务器、VPS、域名等,兴趣广泛,杂而不精,但愿将自己经验与心得分享出来与大家共勉。
已有 8 条评论
  1. 新装的机器建议用xfs,ext3/4性能各方面都不如xfs

    2019年2月27日 19:10 1 回复
    • Avatar for Qi Qi

      xfs这么好?

      2019年2月28日 15:561 1 回复
      • xfs和ext系列根本就不是一个等级上的东西,Fedora从27开始默认是xfs,CentOS7默认也是xfs

        2019年2月28日 17:381 1 回复
  2. Avatar for KK KK

    我20GB的硬盘也用不完。

    2019年2月25日 22:162 回复
  3. Avatar for kaka kaka

    站長您好,我在 Linode 有一個 25GB 容量的空間。安裝了一個 VestaCP,這樣可以挂载額外 20GB Block Storage 一起在 Vesta 使用嗎?還是需要升級 Linode? 謝謝 🙂

    2019年2月25日 19:12 回复
    • Avatar for Qi Qi

      两种都可以的,如果用于存储,用挂载比较节省成本。

      2019年2月26日 09:26来自移动端 回复
      • Avatar for kaka kaka

        對呀!如果我想挂载磁盘到 VestaCP 某一個用戶名 kaka (VestaCP 路徑:/home/kaka )

        挂载磁盘到挂载点是否這樣?
        mount /dev/disk/by-id/scsi-0Linode_Volume_test-1 /home/kaka

        謝謝。

        2019年2月26日 16:32 回复
        • Avatar for Qi Qi

          是的,这样的话,原来的文件就没有了。

          2019年2月28日 15:591 回复

Login

Welcome! Login in to your account

Remember me Lost your password?

Don't have account. Register

Lost Password

Register