文件系统和存储部署

文件系统的管理是AIX存储结构中的最后一环。定义完lv后,可采用如下两种方式使用lv:

a.作为裸设备(raw)使用,一般是数据库型的应用

b.在lv上定义文件系统,并提供文件和数据的存储服务

AIX提供和支持的文件系统类型

a.JFS/JFS2   日志文件系统(Journaled File System),JFS2是增强版,该文件系统将基于数据库的日志技术来记录文件系统上发生的元数据改变,每个JFS/JFS2会在存储结构上独立使用一个lv,形成严格的“lv-文件系统”一对一关系。如:/、/usr、/home、/admin等

b.NFS       网络文件系统(Network File System),它通过访问其他UNIX系统上的文件和目录,来提供分布式的文件存储服务,类似于Windows系统中的“共享文件夹”

c.GPFS       集群文件系统(General Parallel File System),是IBM用在集群环境下共享文件的文件系统,资源组内的所有节点可并行访问GPFS文件系统,GPFS文件系统定义在可共享连接的磁盘阵列设备上,用户可对此文件系统执行标准的UNIX操作,GPFS文件系统需要特定的管理命令。如:Oracle的RAC集群的一种典型拓扑结构使用的就是GPFS。

d.CDROM     CDRFS类型的文件系统,是访问DVD/CD-ROM设备中光盘文件内容的标准接口文件系统

查看文件/文件夹的i-nodes信息,文件类型、UID、GID、链接数

#istat /filename

管理文件系统

#smit fs

查看文件系统

#lsfs 文件系统名

创建文件系统

1.#smit mkfs

2.#smit crfs

上面两个命令都是用来创建文件系统的,其中crfs首先会调用mklv来创建lv,然后调用mkfs在lv上创建文件系统,最后在ODM库和/etc/filesystems中增加适当的记录

crfs命令常用选项:

-v:指定文件系统类型

-g:文件系统所在卷组

-a:文件系统的大小,实际按照lv的整数倍进行调整

-m:文件系统挂载点(若挂载点不存在,则系统会自动创建)

-A:新创建的文件系统是否在系统初启动时自动安装

-p:安装的文件系统是以只读(ro)还是读写(rw)方式安装

例:#crfs -v jfs2 -g rootvg -a size=10M -p rw -m /liang  该命令会创建一个文件系统,名称随机,被置于rootvg逻辑卷上,属性为读写,并挂载到/liang目录下,大小为10M

挂载文件系统

#mount [选项]

常用选项:

-a:挂载所有未挂载的文件系统

-f:强制挂载文件系统

device:文件系统所在的设备(lv)

directory:文件系统的挂载点

挂载已存在的lv到创建的文件系统

#smit crfs

在smit中选择已存在的lv进行挂载

 

文件系统的卸载和删除

卸载

1.卸载文件系统的命令时umount

2.某些针对文件系统的操作只有在其卸载后才可以进行,如:UI文件系统的参数调整、执行文件系统的删除操作

3.若有用户正在使用需要卸载的文件系统,则卸载操作会失败,(可用#fuser -ku 挂载目录)结束正在使用该文件系统的用户相关进程,然后继续卸载
删除

1.可使用#smit 菜单,或者高级命令#rmfs
文件系统挂载点

2.rmfs命令会同时从ODM库和/etc/filesystems中删除有关被删除文件系统和逻辑卷的相关信息,并且删除对应的逻辑卷

文件系统的自动挂载

1.文件系统的定义信息存储在/etc/filesystems中,如果某个文件系统定义了mount=true或mount=automatic属性,则该文件系会在AIX系统启动的第三阶段后半部分自动挂载

/etc/filesystems部分内容如下:

其中常见属性有

check:用于确定是否使用fsck命令来检查文件系统内,true表示允许检查

dev:文件系统所对应的逻辑卷设备文件

mount:

automatic,文件系统在系统启动时自动挂载

true,在系统初始化期间运行mount all命令自动挂载这些系统

false,文件系统不自动挂载

vfs:指定要挂载的文件系统类型

vol:使用mkfs命令为新的文件系统定义挂载点

log:在文件系统被修改时,用来存储日志数据的设备,仅对日志文件系统有效

注意:如果执行#umount all命令,mount属性为automatic的文件系统不会被卸载,而mount属性为true的文件系统则会被卸载

文件系统的容量管理

当文件系统的使用率达到100%或者AIX的/、/var等已完全被占满时,AIX的操作将会毫无疑问的被挂起。

因此,经常使用df命令来查看磁盘空间的使用情况十分必要,工程上往往通过定期运行df命令进行日常检查并生成报告。

显示文件系统的总长度和空间情况

#df -m

显示文件或目录所占用的磁盘块数

#du /usr | sort -r -n

EXPLAIN:文件系统所在卷组上还有足够的可用空间(空闲PP),是AIX动态扩展文件系统空间的唯一条件。通常通过chfs命令来实现动态扩展(增加、减小),一般在使用过程中先用df命令确定一下文件系统当前使用状态、使用比例等信息。然后将这个文件系统需要添加的大小折合成数据块(521B)数(也可使用chfs命令支持的其他空间度量单位,如:M,最后,使用chfs命令设定文件系统的新尺寸

#smit chjfs              进入smit菜单更改文件系统空间大小

#chfs -a size=+100M /test  增加文件系统/test100M空间

#chfs -a size=-100M /test  减小文件系统/test100M空间

扩展:AIX提供一种用备份(mksysb备份)来缩小文件系统的方法。该方法的宗旨是:如果在使用mksysb进行rootvg卷组恢复的过程中,指定收缩(“shrink”)文件系统的选项,则AIX在恢复中将会自动收缩文件系统及其对应的逻辑卷

 

文件系统的一致性管理

背景:UNIX的一个文件系统有超级块(SuperBlock)开始,然后是记录文件系统信息的索引点(i-nodes),最后则是文件的真正存储位置“数据块”。如果这个文件系统的超级块、索引节点被损坏,或者信息存储不一致,会导致文件系统挂载失败,或者已挂载文件系统的文件数据访问失败

检查文件系统信息一致性,并支持修复稳健性系统命令

#fsck 选项 文件系统

常用选项

-f:快速检查,仅检查未执行正确卸载操作的文件系统,即那些在AIX关闭时仍未卸载的文件系统,那些已成功卸载的文件系统不参与检查

-p:不显示不严重的文件系统问题,但执行自动修复操作

-y:对fsck命令执行中的交互性问题自动提供肯定的答复,以允许fsck命令执行任何修复操作(有一定风险),所以只针对严重损坏的文件系统使用

注意:fsck命令检查和修复文件系统时应当在文件系统挂载前将其运行,前提条件时能够读取文件系统对应的逻辑卷设备

检查文件系统/dev/fslv00,并执行错误修复操作

#fsck -p /dev/fslv00

检查文件系统/dev/fslv00的完整性

#fsck /dev/fslv00

对于文件系统超级块损坏的问题,传统的UNIX会使用被分块恢复的方法(dd count=1 bs=4k skip=31 seek=1 if=/dev/fslv00 of=/dev/fslv00)将其修复,而在AIX中并不需要这样,只要使用#fsck
-p
或 #fsck -y直接修复即可

文件系统的卸载失败

可能原因:

a.文件系统中的文件处于打开状态

b.如果没有用户打开文件系统的文件,仍然显示busy,且卸载失败,这可能是一个引用了文件系统的内核扩展(kernel extension)被载入内核

c.当前有用户正在这个文件系统的挂载点上

d.当前有文件系统挂载在要卸载文件系统的目录树上

查看文件系统中文件的使用途径的、获得“谁”正在访问指定的文件系统(用进程ID号表示进程细节)等相关信息:

#fuser -xc /tmp /hacmp.out

注意:fuser命令不会显示内核扩展的载入情况,因此,当出现b情况时,fuser返回为空,且文件系统仍然拒绝卸载

文件系统的快照管理

注意:快照不是将文件系统整个的“搬到”快照位置,而是仅复制那些“发生改变”的内容,也就是说,如果原文件系统中发生了写入或删除操作,即原文件系统的数据块发生了改变,则这个数据块就会被复制到快照点上。AIX将更改后的数据复制到快照点。那些大部分尚未发生改变的内容将直接通过映射到源文件的方法实现,因此快照位置的空间占用不会和原文件系统相同,一般仅占百分之几到十几

 

AIX的JFS2文件系统快照支持的两种类型:

外部快照:创建一个独立的逻辑卷来存储快照映像数据

内部快照:使用原始文件系统空间

创建文件系统外部快照

创建文件系统/db的外部快照,使用空间为500MB

#snapshot -o snapfrom=/db -o size=500M

查看/db快照设置,包括快照日期、位置、空间大小、空间剩余量等信息

#snapshot -q /db

AIX支持文件系统快照的挂载。由于快照复制了原文件系统(改变部分),是一个文件系统的当前复制品,因此被挂载的快照应能够反应出完整的文件系统数据。

挂载/db文件系统的快照到另外一个目录(挂载点为/home/oracle/db_snap),并使用-o snapshot选项来声明这是一个快照挂载

#mkdir -p /home/oracle/db_snap

#mount -v jfs2 -o snapshot /dev/fslv02
/home/oracle/db_snap

对于快照方式挂载的文件系统,文件系统的其他操作命令同样可以运行,如:查看快照文件系统的空间使用情况

#df -g /home/oracle/db_snap

创建内部快照

创建文件系统/db时设置内部快照使用情况

#crfs -vjfs2 -g rootvg -m /db -A -a
isnapshot=yes

位/db创建内部快照dbsnap1

#snapshot -o snapfrom=/db -n dbsnap1

#snapshot -q /db

可以看到,在/db下出现了一个特殊目录.snapshot,可以进入该目录进行只读访问:
#cd /db/.snapshot

#ls -l

因此,内部快照无需挂载快照文件系统就可以使用快照中的文件。

创建外部快照语法

#snapshot -o snapfrom=snappedFS snapshotLV

#snapshot -o snapfrom=snappedFS -o
size=Size

创建内部快照语法

#snapshot -o snapfrom=snappedFS -n
snapshotName

删除外部快照语法

#snapshot -d snapshotLV

删除内部快照语法

#snapshot -d -n snapshotName snappedFS

查询文件系统快照信息

#snapshot -q snappedFS

查询外部快照

#snapshot -q snapshotLV

查询内部快照语法

#snapshot -q -n snapshotName snappedFS

修改外部快照

#snapshot -o size=Size snapshotLV

注意:快照并不能取代常规系统的备份计划和手段,更不能以此替换系统备份、savevg卷组备份、backup文件系统备份、tar文件目录备份等

LVM常用命令总结

AIX的存储结构从卷组开始,一直到文件系统为止,历经物理卷管理—>卷组管理—>逻辑卷管理—>文件系统管理四个阶段

针对物理卷的操作命令

#lsdev    
列出ODM中的设备,可按照支持的设备、已安装的设备分项查看

#chdev   
修改一个AIX设备的属性

#mkdev   
创建一个AIX设备,并用来调整设备的状态

#chpv    
修改物理卷的状态和属性

#lspv     
查看AIX中关于物理卷的相关信息

#migratepv 讲一个pv中的pp(数据)迁移到另一个pv中

针对卷组的操作命令

#mkvg      
创建新卷组

#extendvg   
为vg增加新的pv,用于对vg扩容

#reducevg   
从卷组中删除pv,用来缩减vg的尺寸

#chvg        改卷组的属性

#lsvg         查看卷组的相关信息

#importvg     将卷组导入到AIX系统中

#exportvg     将卷组导出AIX系统(从ODM删除卷组信息)

#reorgvg      重组卷组的数据分析,常用于卷组的I/O优化

#syncvg       同步卷组中逻辑卷上的数据

#varyonvg     激活一个AIX卷组,使其可用

#varyoffvg     关闭(去活)一个卷组,使其不可用

针对逻辑卷的操作命令

#mklv       
创建一个逻辑卷

#lslv         查看逻辑卷的特征

#rmlv       
删除一个逻辑卷和逻辑卷上的数据

#extendlv     增加逻辑卷的大小,为逻辑卷扩容

#chlv         修改逻辑卷的属性

#mklvcopy     为逻辑卷增加镜像副本,使其被镜像

#rmlvcopy     删除逻辑卷的镜像副本

针对文件系统的操作命令

#chfs   
修改文件系统的属性

#crfs   
创建一个新的文件系统

#rmfs  
删除文件系统,同时删除文件系统中的数据

#lsfs 
  显示一个文件系统的特征

#mount  
挂载一个文件系统到挂载点上,使其可用

#fsck    
检查一个文件系统的一致性,并可(交互式)修复该文件系统

#umount 
卸载一个已安装的文件系统,这个文件系统中的目录和文件不能在被访问

#df      
查看文件系统的空间使用状态

AIX文件系统和存储部署(转)的更多相关文章

  1. FAT32文件系统的存储组织结构(一)

    对磁盘的物理结构,逻辑结构和存储结构有了比较深入的了解后,我们来仔细探讨FAT32文件系统的存储组织结构.说到文件系统的组织结构,我们应该马上意识到,这指的是文件系统在同一个分区内的组织结构,在这个话 ...

  2. Hadoop基础-HDFS分布式文件系统的存储

    Hadoop基础-HDFS分布式文件系统的存储 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS数据块 1>.磁盘中的数据块 每个磁盘都有默认的数据块大小,这个磁盘 ...

  3. 分布式部署网站---文件系统的存储--ftp上传图片到指定文件服务器

    问:通常一个网站程序发布在一个iis服务器上,但是如果要分布式部署网站.文件系统该如何存储呢? 答:通常的就是给网站文件系统一个子域名.比如 https://images.web.com. 网站程序内 ...

  4. openstack-swift云存储部署(二)

    接上篇,swift-proxy和swift-store的安装 先说一下服务器分配 swift-proxy和keystone部署在192.168.25.11 swift-store是两台  分别是192 ...

  5. 报表在IBM AIX系统下resin部署

     报表是用java开发的,具有良好的跨平台性.不仅可以应用在windows.linux.操作系统,还可以应用在AIX等等的unix操作系统.在各种操作系统上部署过程有一些差别.下面说一下在AIX操 ...

  6. openstack-swift云存储部署(一)

    最近因为工作的需要搭建了一套swift云存储架构 我们先来解读一下里面的技术知识点:swift服务是属于openstack中的一种组件服务,openstack中的组件服务还有keystone.Nova ...

  7. AIX之ASM存储扩容

    ASM存储扩容操作其实很简单,无非就是向DiskGroup(简称DG)里添加物理磁盘,增加DG的存储空间.说来简单,其实操作过程中有很多小细节要注意,否则,带来的后果是灾难性的. ASM扩容操作步骤( ...

  8. FAT32文件系统的存储组织结构(二)

    前面已经基于一个格式化的空U盘分析了一下FAT32文件系统存储的组织结构,下面我们从文件操作的角度来分析一下文件系统的运作机制.由于换了个U盘,所以仍然贴出刚格式化的空U盘的几个重要的数据区如下:   ...

  9. Rancher2.0中使用外置NFS存储部署Nginx实验

    目录: 1.环境准备工作 1.1 准备好Rancher2.0集群环境 1.2 准备好外部NFS服务器 2.Rancher2.0中使用NFS存储的方法 2.1 在集群中创建持久卷(PV) 2.2 在项目 ...

随机推荐

  1. fiddler抓包参数乱码的解决方法

    解决方法: 1.win+R 2.打开注册表编辑器:输入regedit +回车+是 3.HKEY_CURRENT_USER\Software\Microsoft\Fiddler2 4.右键新建,选字符串 ...

  2. wkhtmlpdf安装以及中文乱码

    见此页http://www.cnblogs.com/day959/p/6652726.html

  3. MUI class="mui-switch" 开关监听

    如何对MUI中的switch开关按钮进行监听, 页面代码如下: <form class="mui-input-group"> <ul class="mu ...

  4. Effective Java 第三版——44. 优先使用标准的函数式接口

    Tips <Effective Java, Third Edition>一书英文版已经出版,这本书的第二版想必很多人都读过,号称Java四大名著之一,不过第二版2009年出版,到现在已经将 ...

  5. redis 的消息订阅和消息队列的功能比较

    消息队列常用的有 rabitMQ.kafka等.缓存服务器  redis 也可以做消息队列使用,他们的特点对比如下 消息协议: 消息队列支持包括AMQP,MQTT,Stomp等,并且支持 JMS 规范 ...

  6. 关于c语言的左移运算

    对于任意w位的二进制,进行k位的移动时,真实的位移量为k mod w 32bit的例子 1 << 1 结果2 1 mod 32 => 11 << 32 结果1 32 mo ...

  7. SpringBoot打war包并部署到外部tomcat运行(jar工程改造为正war工程)

    如果你的SpringBoot工程是一个jar工程,而想把它改造成war工程,并打成war包放到外部的tomcat下运行,该怎么修改配置呢?这里以Maven工程为例进行介绍. (1)将pom.xml中的 ...

  8. docker打包centos增加中文支持

    docker打包centos增加中文支持 前言 使用的某个包的返回值,在本机测试时返回结果是中文,结果打包到docker后返回结果变英文了:猜测是系统语言的问题,进入docker测试了一下,发现果然是 ...

  9. Node入门教程(9)第七章:NodeJs的文件处理

    Node的文件处理涉及到前面说的ptah模块,以及fs文件系统.stream流处理.Buffer缓冲器等模块.内容可能比较多,相关内容请以官网文档为主,此处主要以案例讲解为主,分享给大家一些常用的经典 ...

  10. opencv 基本使用

    1.下载opencv库 https://opencv.org/ 下载后文件: 双击提取文件到指定路径: * 下载winpack版本可以省去自己编译的步骤,下载后无需安装双击可以直接提取文件到指定目录: ...