Solaris ZFS文件系统rpool扩容
ZFS文件系统简介
Solaris10默认的文件系统是ufs(Unix Filesystem),当然也可以选装zfs;Solaris11默认的文件系统是zfs(Zettabyte Filesystem)。
ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件系统(Dynamic File System),是第一个128位文件系统。最初是由Sun公司为Solaris 10操作系统开发的文件系统。作为OpenSolaris开源计划的一部分,ZFS于2005年11月发布,被Sun称为是终极文件系统。ZFS是基于存储池,与典型的映射物理存储设备的传统文件系ZFS统不同,ZFS所有在存储池中的文件系统都可以使用存储池的资源。
ZFS 是一个组合文件系统和逻辑卷管理器。
ZFS 的功能包括防止数据损坏、高存储容量 (256 ZiB)、快照和写入时复制克隆以及连续完整性检查等。
如果您正在处理大量数据,或者为虚拟化提供后备文件系统,ZFS 是一个不错的选择。
ZFS和OpenZFS
2013年,OpenZFS成立,旨在协调开源ZFS的开发。截至2019年,OpenZFS中超过50%的原始OpenSolaris ZFS代码已经被社区贡献的代码所取代,使得“Oracle ZFS”和“OpenZFS”在体制上和技术上不兼容。
OpenZFS是一个开源存储平台。它包括传统文件系统和卷管理器的功能(此为独特之处)。它具有许多高级功能。
存储池及其分类
存储池是一种设备集合,提供 ZFS 数据集的物理存储和数据复制。存储池内的所有数据集共享同一个空间。ZFS 存储池是为数据集提供空间的设备的逻辑集合。存储池也是 ZFS 文件系统分层结构的根。
zpool 命令配置 ZFS 存储池。
Basic Storage Pool
# zpool create tank c1t0d0 c1t1d0
Mirrored Storage Pool
# zpool create tank mirror c1d0 c2d0 mirror c3d0 c4d0
RAID-Z Storage Pool
# zpool create tank raidz c1t0d0 c2t0d0 c3t0d0 c4t0d0 /dev/dsk/c5t0d0
ZFS Root Pool
根池在所有类型的存储池中,属于比较特殊的:
1、根池必须创建为镜像配置或单磁盘配置。使用zpool add命令不能增加磁盘以创建多个镜像顶级虚拟设备,但可以使用zpool attach命令扩展镜像虚拟设备。
2、根池不支持RAID-Z和striped 配置。
3、根池不能有单独的日志设备。
扩展根池
这里说是硬盘扩容,不如说是更换硬盘。案例:将15G的系统盘替换为50G的系统盘(并不能想LVM一样将两块盘都绑定到LV,然后挂载到/)。
1、查看当前的存储池,目前只有rpool,大小为15G
# zpool list
NAME    SIZE  ALLOC  FREE  CAP  DEDUP  HEALTH  ALTROOT
rpool  15.6G  15.0G  618M  96%  1.00x  ONLINE  -
# zpool status  rpool pool: rpoolstate: ONLINEscan: none requested
config:NAME      STATE      READ WRITE CKSUMrpool     ONLINE        0     0     0c2t0d0  ONLINE        0     0     0 
2、查看当前磁盘设备
# format
Searching for disks...doneAVAILABLE DISK SELECTIONS:0. c2t0d0 <VMware-Virtual disk-2.0-16.00GB>/pci@0,0/pci15ad,1976@10/sd@0,01. c2t1d0 <VMware-Virtual disk-2.0-50.00GB>/pci@0,0/pci15ad,1976@10/sd@1,0 
3、将new_device附加到storage pool,前面我们说过rpool不支持zpool add 只支持zpool attach。attach后会将old_device的数据同步到new_device,并且rpool也从“单磁盘”配置自动转换为“镜像”配置。
# 命令解释:
zpool attach [-f] pool device new_device
将new_device附加到现有的zpool设备。现有设备不能作为raidz配置的一部分。如果device当前不是镜像配置的一部分,则device自动转换为device和new_device的双向镜像。如果device是双向镜像的一部分,则附加new_device将创建一个三向镜像,依此类推。在任何一种情况下,new_device都立即开始恢复。
zpool add [-f] [-n [-l]] pool vdev ...
将指定的虚拟设备添加到给定的池中。
# zpool attach rpool c2t0d0 c2t1d0Make sure to wait until resilver is done before rebooting.
# zpool status  rpoolpool: rpoolstate: DEGRADED
status: One or more devices are currently being resilvered.  The pool willcontinue to function in a degraded state.
action: Wait for the resilver to complete.Run 'zpool status -v' to see device specific details.scan: resilver in progress since Fri Mar 23 16:06:21 2001284M scanned out of 15.0G at 3.11M/s, 1h20m to go271M resilvered, 1.85% done
config:NAME        STATE      READ WRITE CKSUMrpool       DEGRADED      0     0     0mirror-0  DEGRADED      0     0     0c2t0d0  ONLINE        0     0     0c2t1d0  DEGRADED      0     0     0  (resilvering)
# zpool status  rpoolpool: rpoolstate: ONLINEscan: resilvered 14.0G in 32m36s with 0 errors on Fri Mar 23 16:38:57 2001config:NAME        STATE      READ WRITE CKSUMrpool       ONLINE        0     0     0mirror-0  ONLINE        0     0     0c2t0d0  ONLINE        0     0     0c2t1d0  ONLINE        0     0     0errors: No known data errors 
4、将old_device从rpool中分离
命令解释:
zpool detach pool device
该命令用于从镜像存储池中分离设备或备件。如果物理更换了RAID-Z存储池中的设备,也可以将备用设备从RAID-Z存储池中分离出来。或者,如果RAID-Z存储池中已有设备被备用设备替换,则可以卸载该设备。如果没有其他有效的数据副本,则拒绝该操作。
# zpool detach rpool c2t0d0  
5、设置rpool自动扩展
命令解释:
zpool set autoexpand=on | off
控制底层LUN扩容时自动扩容池。
如果设置为on,池的大小将根据扩展设备的大小进行调整。如果该设备是镜像或raidz的一部分,那么在池使用新空间之前,必须对该镜像或raidz组中的所有设备进行扩展。默认off。可以使用缩写expand来代替autoexpand。
请勿使用format命令获取新的LUN大小,并对其重新打标签。zpool会自动反映新的LUN大小。
# zpool set autoexpand=on rpool 
6、检验是否成功
# zfs list
NAME                               USED  AVAIL  REFER  MOUNTPOINT
rpool                             15.0G  33.8G  4.33M  /rpool
rpool/ROOT                        3.01G  33.8G    31K  none
rpool/ROOT/solaris                3.01G  33.8G  2.64G  /
rpool/ROOT/solaris/var             315M  33.8G   315M  /var
rpool/VARSHARE                    35.4M  33.8G  2.74M  /var/share
rpool/VARSHARE/kvol               27.7M  33.8G    31K  /var/share/kvol
rpool/VARSHARE/kvol/dump_summary  1.22M  33.8G  1.02M  -
rpool/VARSHARE/kvol/ereports      10.2M  33.8G  10.0M  -
rpool/VARSHARE/kvol/kernel_log    16.2M  33.8G  16.0M  -
rpool/VARSHARE/pkg                  63K  33.8G    32K  /var/share/pkg
rpool/VARSHARE/pkg/repositories     31K  33.8G    31K  /var/share/pkg/repositories
rpool/VARSHARE/sstore             4.75M  33.8G  4.75M  /var/share/sstore/repo
rpool/VARSHARE/tmp                  31K  33.8G    31K  /var/tmp
rpool/VARSHARE/zones                31K  33.8G    31K  /system/zones
rpool/dump                        2.00G  33.8G  2.00G  -
rpool/export                      8.97G  33.8G    32K  /export
rpool/export/home                 8.97G  33.8G    32K  /export/home
rpool/export/home/xiao            8.97G  33.8G  8.97G  /export/home/xiao
rpool/swap                        1.00G  33.8G  1.00G  -
# zpool list
NAME    SIZE  ALLOC   FREE  CAP  DEDUP  HEALTH  ALTROOT
rpool  49.6G  15.0G  34.6G  30%  1.00x  ONLINE  -
# zpool status  rpoolpool: rpoolstate: ONLINEscan: resilvered 14.0G in 32m36s with 0 errors on Fri Mar 23 16:38:57 2001config:NAME      STATE      READ WRITE CKSUMrpool     ONLINE        0     0     0c2t1d0  ONLINE        0     0     0errors: No known data errors相关文章:
Solaris ZFS文件系统rpool扩容
ZFS文件系统简介 Solaris10默认的文件系统是ufs(Unix Filesystem),当然也可以选装zfs;Solaris11默认的文件系统是zfs(Zettabyte Filesystem)。 ZFS文件系统的英文名称为Zettabyte File System,也叫动态文件…...
模式识别 —— 第二章 参数估计
模式识别 —— 第二章 参数估计 文章目录模式识别 —— 第二章 参数估计最大似然估计(MLE)最大后验概率估计(MAP)贝叶斯估计最大似然估计(MLE) 在语言上: 似然(likelihood…...
判断4位回文数-课后程序(Python程序开发案例教程-黑马程序员编著-第3章-课后作业)
实例1:判断4位回文数 所谓回文数,就是各位数字从高位到低位正序排列和从低位到高位逆序排列都是同一数值的数,例如,数字1221按正序和逆序排列都为1221,因此1221就是一个回文数;而1234的各位按倒序排列是43…...
【NLP】Word2Vec 介绍
Word2Vec 是一种非常流行的自然语言处理技术,它将每个单词表示为高维向量,并且通过向量之间的相似度来表示单词之间的语义关系。 1 One-Hot 编码🍂 在自然语言处理任务中,我们需要将文本转换为计算机可以理解的形式,即…...
3月6日,30秒知全网,精选7个热点
///石家庄地铁:在指定店铺购物金额不限 就可免费乘地铁 乘客只要在指定商铺或地铁站内36524便利店购物,便能得到一张当日乘车券,可免费乘坐地铁一次,不限里程 ///神州泰岳:公司语音机器人等产品能够进行多轮问答 公司…...
Python笔记 -- 字典
文章目录1、概述2、增删改查3、遍历3.1、遍历所有键值对3.2、分别遍历键和值4、嵌套4.1、字典列表4.2、在字典中储存列表4.3、在字典中储存字典1、概述 字典是一系列键值对,可将任何Python对象作为字典中的值 字典和列表容易混淆,列表也可用{} 字典是一…...
【独家】华为OD机试 - 滑动窗口(C 语言解题)
最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明本期…...
MySQL调优 - SQL查询深度分页问题
一、问题引入 例如当前存在一张表test_user,然后往这个表里面插入3百万的数据: CREATE TABLE test_user (id int(11) NOT NULL AUTO_INCREMENT COMMENT 主键id,user_id varchar(36) NOT NULL COMMENT 用户id,user_name varchar(30) NOT NULL COMMENT 用…...
0306spring--复习
一,spring是什么 Spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的容器框架 理念:使现有的技术更加容易使用,本身是一个大杂烩,整合了现有的技术框架 优点࿱…...
动手实现一遍Transformer
最近乘着ChatGpt的东风,关于NLP的研究又一次被推上了风口浪尖。在现阶段的NLP的里程碑中,无论如何无法绕过Transformer。《Attention is all you need》成了每个NLP入门者的必读论文。惭愧的是,我虽然使用过很多基于Transformer的模型&#x…...
【Flutter入门到进阶】Flutter基础篇---弹窗Dialog
1 AlertDialog 1.1 说明 最简单的方案是利用AlertDialog组件构建一个弹框 1.2 示例 void alertDialog(BuildContext context) async {var result await showDialog(barrierDismissible: false, //表示点击灰色背景的时候是否消失弹出框context: context,builder: (context)…...
【操作系统】进程和线程的区别
文章目录1. 概述2. 进程3. 线程4. 协程5. 进程与线程区别1. 概述 进程和线程这两个名词天天听,但是对于它们的含义和关系其实还有点懵的,其实除了进程和线程,还存在一个协程,它们的关系如下: 首先,我们需要…...
Linux开发环境配置--正点原子阿尔法开发板
Linux开发环境配置–正点原子阿尔法开发板 文章目录Linux开发环境配置--正点原子阿尔法开发板1.网络环境设置1.1添加网络适配器1.2虚拟网络编辑器设置1.3Ubuntu和Windows网络信息设置Ubuntu网络信息配置方式:1.系统设置->网络->选项2.配置网络文件2源码准备2.…...
Android ThreadPoolExecutor的基本使用
ThreadPoolExecutor是Java中的一个线程池类,Android中也可以使用该类来管理自己的线程池,它为我们管理线程提供了很多方便。 线程池是一种能够帮助我们管理和复用线程的机制,它可以有效地降低线程创建和销毁的开销。使用线程池可以避免不必要…...
基于区域生长和形态学处理的图像融合方法——Matlab图像处理
✅ 大三下时弄的 文章目录最终效果图摘要1 研究背景及意义2 基本原理描述3 实验数据来源3.1 原始图像的来源3.2 天空背景图像的来源4 实验步骤及相应处理结果4.1 原始图像的预处理4.2 区域生长法分割图像4.3 形态学处理填充孔洞4.4 边缘检测根据二值图像构造RGB图像4.5 图像拼接…...
三个案例场景带你掌握Cisco交换机VLAN互通
VLAN间路由的方式现在主流的组网主要是依靠三层交换机通过配置SVI接口【有的厂商叫VLANIF接口】,当然也有比较小型的网络,它就一个出口路由器可管理的二层交换机,还有一种更加差的,就是出口路由一个可管理的二层交换机,…...
小白入门之持久连接与非持久连接的差别
对比 HTTP 0.9 已过时 HTTP1.0:非持续连接,每个连接只处理一个请求响应事务,有些服务器端甚至还在用此,可以在一定时间内复用连接,具体复用时间的长短可以由服务器控制,一般在15s左右。 HTTP 1.1 默认使用持…...
TypeScript篇.01-简介,类,接口,基础类型
1.简介(1)安装及编译安装: npm install -g typescript创建 .ts 后缀名的文件编译: tsc 文件名.ts 编译后会生成同名 .js 的文件查看: 在html文件中script引入js文件,运行查看控制台即可(2)类型注解TypeScript里的类型注解是一种轻量级的为函数或变量添加约束的方式 变量或函数声…...
分享几种WordPress怎么实现相关文章功能
一淘模板(56admin.com)给大家介绍一下WordPress代码实现相关文章的几种方法,希望对大家有所帮助! WordPress很多插件可以实现相关文章的功能,插件的优点是配置简单,但是可能会对网站的速度造成一些小的影响…...
PANGO的IOB的电平能力那些事
LVCMOS33 如果要使用33电平,VCCIO则必须供电3V3. 在此制式下,VILMAX为0.8V,VIHMIN为2.0V,即,电平处于0.8V到2.0V之间时,处于浮游态。 VOLMAX是0.4V,VOHMIN是VCCIO-0.4V,折算下来&am…...
MongoDB学习和应用(高效的非关系型数据库)
一丶 MongoDB简介 对于社交类软件的功能,我们需要对它的功能特点进行分析: 数据量会随着用户数增大而增大读多写少价值较低非好友看不到其动态信息地理位置的查询… 针对以上特点进行分析各大存储工具: mysql:关系型数据库&am…...
23-Oracle 23 ai 区块链表(Blockchain Table)
小伙伴有没有在金融强合规的领域中遇见,必须要保持数据不可变,管理员都无法修改和留痕的要求。比如医疗的电子病历中,影像检查检验结果不可篡改行的,药品追溯过程中数据只可插入无法删除的特性需求;登录日志、修改日志…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
Yolov8 目标检测蒸馏学习记录
yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
