近期服务器因为磁盘空间满而产生了谬误,数据盘有了扩容的需要。以后的零碎采纳了稳如磐石的FreeBSD零碎,文件系统应用了更加平安、牢靠的ZFS。
扩容计划
云硬盘满,咱们首先想到的是去服务商那扩容。但应用了zfs文件系统后,扩容的最并没有反馈到零碎中,也就是说尽管云服务端给咱们扩容到了100G,但咱们可能应用的依然为40G。
搜寻了相干的扩容关键字,但基本上所有的文章都在讲如何对实体的硬盘进行扩容(老的硬盘换了新的更大的硬盘),却没有一篇文章提及如何在云盘扩容后同步扩容zpool。
最终查阅了oracle的官网文档失去了答案:
计划一
查看zpool状态,失去zpool名称以及退出到zpool的硬盘名称:
root@xxx:/dev # zpool status pool: zroot state: ONLINE scan: none requestedconfig: NAME STATE READ WRITE CKSUM ①zroot ONLINE 0 0 0 ②vtbd1 ONLINE 0 0 0
失去①zpool的名称为zroot ②以后挂载的硬盘为vtbd1.
而后执行扩容命令:
root@PingTai:/dev # zpool online -e ①zroot ②vtbd1
计划二
查看zpool状态,失去zpool名称:
root@xxx:/dev # zpool status pool: zroot state: ONLINE scan: none requestedconfig: NAME STATE READ WRITE CKSUM ①zroot ONLINE 0 0 0 vtbd1 ONLINE 0 0 0
失去zpool
的名称为zroot
,将zpool
的autoexpand
属性设置为on
:
# zpool set autoexpand=on ①zroot
而后当磁盘扩容后,重新启动服务器,扩容主动实现。
ZFS
简略介绍下ZFS,它是一个文件系统,外部有多种模式:disk、file、mirror、raidz、spare(统称为VDEV ---- 虚构设施)等,比拟罕用的是raidz,该模式下有三个子模式,别离为raidz1、raidz2、raidz3。raidz1相当于一般的raid5,而raidz2及raidz3则在raid5的根底上应用了2块或3块硬盘做校验盘,同时一个zpool(虚构硬盘)中又能够包含多个虚构设施,所以能够每个zpool最大反对16EB,也就是1600万TB。
参考官网文档: https://docs.oracle.com/cd/E19120-01/open.solaris/817-2271/githb/index.html