阿里云扩容硬盘并挂载到已有网站home目录下

扩容硬盘并挂载到已有网站home目录下

操作步骤

格式化硬盘并添加启动挂载

已下步骤大部分为阿里云官方文档

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

  1. 远程连接实例

  2. 运行 fdisk -l 命令查看实例是否有数据盘

    如果执行命令后,没有发现/dev/vdb,表示您的实例没有数据盘,无需格式化数据盘,请忽略本文后续内容。如果您的数据盘显示的是 dev/xvd?,表示您使用的是非 I/O 优化实例。其中 ? 是 a−z 的任一个字母。

  3. 创建一个单分区数据盘,依次执行以下命令:

    • 运行 fdisk /dev/vdb:对数据盘进行分区
    • 输入 n 并按回车键:创建一个新分区。
    • 输入 p 并按回车键:选择主分区。因为创建的是一个单分区数据盘,所以只需要创建主分区。

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

    • 输入分区编号并按回车键。因为这里仅创建一个分区,可以输入 1。
    • 输入第一个可用的扇区编号:按回车键采用默认值 1。
    • 输入最后一个扇区编号:因为这里仅创建一个分区,所以按回车键采用默认值。
    • 输入 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

    • 本示例要创建一个 ext3文件系统。您也可以根据自己的需要,选择创建其他文件系统,例如,如果需要在LinuxWindowsMac系统之间共享文件,您可以使用 mkfs.vfat 创建 VFAT 文件系统。
    • 创建文件系统所需时间取决于数据盘大小。
    [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 /home ext3 defaults 0 0 >> /etc/fstab

    说明:Ubuntu 12.04 不支持barrier,所以对该系统正确的命令是:echo '/dev/vdb1 /home ext3 barrier=0 0 0' >> /etc/fstab。如果需要把数据盘单独挂载到某个文件夹,比如单独用来存放网页,请将以上命令 /home替换成所需的挂载点路径。

  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 /home ext3 defaults 0 0
    

挂载新硬盘到home目录

挂载到home目录有两种情况:一种home目录是新的目录里面没有数据。第二种是home目录已经有了数据。

  • 第一种很好处理,直接使用mount /dev/vdb1 /home命令就可以完成挂载,后面的就不用看了。
  • 第二种就比较麻烦,因为如果home目录有内容直接按第一种方法挂载会发现挂载之后home目录下的东西都不见了。

    如果已经已经使用了直接挂载的方法造成home目录下的文件丢失,不要慌直接再将盘卸载掉(umount /dev/vdb1)就可以,卸载完文件就会恢复了。

下面主要讲一下第二种方法来挂载到home目录

  1. 使用mkdir transfer创建一个中转文件夹

  2. 使用mount /dev/vdb1 /transfer 将新硬盘挂载到transfer上

  3. 使用 cp -R /home/* /transferhome目录下的所有文件复制到中转文件夹

  4. rm -rf /home/* 删除原硬盘上的home文件夹,为原硬盘腾出空间(可选项,可不删除)

  5. mount /dev/sdb1 /home接着讲硬盘再挂载到home文件夹

    如果挂载时出现mount: you must specify the filesystem type错误这是因为没有设置文件系统格式,可使用-t参数设置文件系统格式 mount -t ext3 /dev/sdb1 /home

  6. df -h 查看硬盘挂载情况,/dev/sdb1 如果现实了挂载到transferhome说明都挂载成功

    [root@iZj6capfjz1mgt4s5ab7e6Z /]# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vda1        40G   24G   14G  63% /
    tmpfs           3.9G     0  3.9G   0% /dev/shm
    /dev/vdb1        40G   13G   25G  34% /transfer
    /dev/vdb1        40G   13G   25G  34% /home
    
  7. 卸载transfer上的挂载 umount /transfer(如无法卸载 可使用umount -fl /transfer强制卸载)

  8. 最后删除transfer文件夹rm -rf transfer

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值