Back

linux - 增加新硬盘 和 老硬盘扩容的办法 ( google cloud上需要这样操作)

发布时间: 2018-04-09 09:34:00

参考:  https://cloud.google.com/compute/docs/disks/add-persistent-disk

注意: 做镜像的时候,千万要把硬盘摘下来.否则会无法启动.  

阿里云也是一样操作的.

说明:  这是两件事情. 不但要在控制台进行操作, 重启,还需要在命令行中做一些操作.

1.  在console 上增加新硬盘,例如300G

这个时候实际上在 ssh下 $ df -kh  命令是看不到新硬盘的,需要我们给他格式化,并且挂载

2.  $ sudo lsblk 

就可以看到这个新硬盘了 . 例如,下面的新硬盘是 300G.  它的 "NAME" 一列是  sdb . 记住这个,

DEVICE_ID = sdb

shensiwei@instance-2:~$ sudo lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0    10G  0 disk 
`-sda1   8:1    0    10G  0 part /
sdb      8:16   0   300G  0 disk 

3. 把这个硬盘格式化 . (注意最后一个参数是  /dev/sdb)

$ sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb

shensiwei@instance-2:~$ sudo mkfs.ext4 -m 0 -F -E lazy_itable_init=0,lazy_journal_init=0,discard /dev/sdb
mke2fs 1.42.9 (4-Feb-2014)
Discarding device blocks: done                            
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
19660800 inodes, 78643200 blocks
0 blocks (0.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
2400 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, 7962624, 11239424, 20480000, 23887872, 71663616

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: sdb300g  
done

注意,上面一步完成后, 我们输入 df -kh 还是看不到这个硬盘的.

需要 

$ sudo lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0    10G  0 disk 
`-sda1   8:1    0    10G  0 part /
sdb      8:16   0   300G  0 disk          (这里就是我们刚才 格式化的东东)

然后, 我们创建一个新文件夹 ,   /opt  

然后, 我们把 sdb 挂载到 /opt上. 这样访问  /opt就是访问新硬盘了

$ sudo mount -o discard,defaults /dev/sdb /opt

最后, 把这个目录修改一下owner, 

$ chown shensiwei:shensiwei /opt 

最后的最后,如何让下次登陆后,系统自动加载这个硬盘?

sudo cp /etc/fstab /etc/fstab.backup

$ sudo blkid /dev/sdb
/dev/sdb: UUID="75261710-e4ba-4435-a52c-e568972a2877" TYPE="ext4"

(注意:如果要挂载的硬盘是 新硬盘的一个分区的话,就用  /dev/sdb1 这样的)

修改   /etc/fstab ,加入一行: (我的配置中,加上最下面这行)

  1 LABEL=cloudimg-rootfs /  ext4 defaults  0 0
  2 UUID=75261710-e4ba-4435-a52c-e568972a2877 /opt ext4 discard,defaults,nofail 0 2

如何为现有硬盘扩容?

1. 在控制台增加容量

2. $ sudo lsblk 就可以看到, sdb 的容量已经达到了800G  (/dev/sdb是我在控制台中修改的目标硬盘的容量)

3. 按照我的经验, 直接运行这一步就可以了: $ sudo resize2fs /dev/sdb

shensiwei@instance-2:~$ sudo resize2fs /dev/sdb
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/sdb is mounted on /opt; on-line resizing required
old_desc_blocks = 19, new_desc_blocks = 50
The filesystem on /dev/sdb is now 209715200 blocks long.

Back