本文截图在虚拟机上完成,文末有模拟器链接。
一、Netapp简介
NetApp 系统为各种不同平台上的用户提供了对全部企业数据的无缝访问。NetApp全系列光纤网络存储系统在文件访问方面支持NFS 和CIFS,在块存储访问方面支持FCP 和iSCSI,确保您可以非常方便地将NetApp 存储系统集成到NAS 或SAN 环境中,并且保护原来的信息。 NetApp 系统运行高效的Data ONTAP™ 微核操作系统,用于将UNIX®、Windows®、NAS、光纤通道和iSCSI SAN 以及Web 数据合并到中央位置。NetApp 企业存储系统是一套可扩展的、经过实践检验的高可用性网络存储系统套件,安装、配置和管理起来十分简便,是行业中总拥有成本(TCO) 最低、投资回报率(ROI) 最高的产品之一。
二、基本概念
1. filer 磁阵机头,对应于其他类型磁阵的控制器。 2. Filerview NetApp磁阵磁盘管理的WEB工具,当终端为WIN2000时,需要安装JAVA虚拟机,才能打开对应的界面。 3. RAID RAID组由一块或多块数据磁盘加上一块或多块数据校验盘组成 4. RAID4和RAID DP RAID4的校验数据与RAID5的校验数据一样,都是数据盘上对应bit位的异或校验结果,只是RAID4将所有校验数据放在一个盘上(就是校验盘),而RAID5将校验数据分散到所有盘上。RAID DP(DOUBLE PARITY)即双校验盘,其中两块校验盘的数据不一样:第一块校验盘的数据与RAID4一样,第二块盘的数据是通过对角线方式异或计算出来的。 5. Plex plex是一个或多个RG组的集合 6. aggr 一个aggr是一个或多个plex的集合,如果RG组做镜像了,则一个aggr包含两个plex,否则只包含一个plex。Aggr用来管理plex和RAID组,因为这些实体只能作为aggr的一部分存在。 7. Volume 数据卷,NetApp磁阵磁盘管理的特殊方式,一个卷至少有一个RAID GROUP,也可以有多个RAID GROUP。存放系统数据的称为根卷(root volume)。其他存放数据的卷称为普通卷。一个机头有且只有一个根卷。NetApp磁阵上的LUN是在Volume上创建的。卷分为传统卷和灵活卷。传统卷:只能在一个aggregate中,只能通过添加整个新硬盘的容量来扩容,不能减小,一个RG上只能有一个传统卷。灵活卷:可以只包含某个RG的一部分。 8. /vol 每个netapp存储都必须有且只有一个root volume,存储启动的时候要读取在它上面保存的数据。root卷是唯一具有root属性的卷,而它里面的/etc目录保存的是配置信息。它与其它vol差不多,只不过这个vol还存放ontap的配置信息、日志、firmware等等东西。/vol不是一个目录,它是一个特殊的虚拟root路径,存储用它来mount其它目录。不能通过Mount /vol来看其它卷,只能是mount每个卷单独的。 9. qtree 逻辑定义单位,定义在传统卷或灵活卷的子目录下,每个卷下最多可创建4995个qtree。Qtree主要作用为:利于数据管理和分配;管理软硬使用限额。Qtree与volume区别:不能对单个qtree进行快照;不支持空间保留和回收。 10. quotas 限制用户或组使用的磁盘空间和文件使用数。 11. luns Logical Unit(LUN)被客户端在存储系统上访问的存储单元。 12. snapshot
Snapshot是netapp的快照技术,它有占用空间少,不影响性能,生成简便,恢复数据灵活快捷等突出优点。
三、Aggr的管理
1. 创建一个aggr 查看agg状态,发现只有aggr0,组成的磁盘为v0.16、v0.17、v0.18、v0.19、v0.20、v0.21、v0.22
代码语言:javascript复制netapp> aggr status -r aggr1
查看磁盘信息
代码语言:javascript复制netapp>sysconfig -d
新建aggr1和aggr2,其中aggr1为自定义的三块磁盘,aggr2由非自定义的三块盘组成 新建aggr1
代码语言:javascript复制netapp>aggr create aggr1 -d v0.24 v0.25 v0.26
新建aggr2
代码语言:javascript复制netapp>aggr create aggr2 3
2. 扩展aggr 向aggr1中加入3块盘 预演命令执行 netapp> aggr add aggr1 -n 3 aggr add aggr1 -d v0.35 v0.28 v0.34 指定具体的磁盘
代码语言:javascript复制netapp> aggr add aggr1 -d v0.34 v0.35 v0.36
向agg2加入3块磁盘到新的rg组
代码语言:javascript复制netapp> aggr add aggr2 -g new 3
3. 消除aggr快照 查看aggr大小,发现aggr1和aggr2快照占了空间(默认为20%)
代码语言:javascript复制netapp> df -A
分别清除aggr1和aggr2快照空间
代码语言:javascript复制netapp> snap reserve -A aggr1 0
netapp> snap reserve -A aggr2 0
4. 删除aggr 首先offline
代码语言:javascript复制netapp> aggr offline aggr1
然后destroy
代码语言:javascript复制netapp> aggr destroy aggr1
可以看到已无aggr1信息
四、Volume的管理
1. 创建volume 查看vol信息
代码语言:javascript复制netapp> vol status
在aggr2上新建卷vol2,大小为50m
代码语言:javascript复制netapp> vol create vol2 aggr2 50m
2. 消除snapshot空间 查看vol2大小
代码语言:javascript复制netapp> df –h
删除快照
代码语言:javascript复制netapp> snap reserve -V vol2 0
3. 关闭快照 默认情况下,创建卷即开启快照功能。使用fcp协议划lun给主机用于建数据库则无需开启快照,关闭快照步骤如下: 首先查看快照,发现vol0快照没被关闭
代码语言:javascript复制YS-NPHD2> snap list
YS-NPHD2> snap sched
删除快照,详见2 关闭vol0快照功能
代码语言:javascript复制YS-NPHD2> snap sched vol0 0
4. 扩展和减小volume空间 将vol2增大20m
代码语言:javascript复制netapp> vol size vol2 20m
将vol2减小10m
代码语言:javascript复制netapp> vol size vol2 -10m
5. 新建卷的参数修改 NetApp建议在新建的卷上修改三个参数为on,分别为‘Minimal Read Ahead’、‘Create Unicode’、‘Convert Unicode’。 查看vol2参数值
代码语言:javascript复制netapp> vol options vol2
将minra设置为on
代码语言:javascript复制netapp> vol options vol2 minra on
6. 删除Volume 首先offline
代码语言:javascript复制netapp> vol offline vol2
然后destroy
代码语言:javascript复制netapp> vol destroy vol2
五、NFS exports
1. 存储端配置 使用rdfile命令打开/etc/exports文件,拷贝到文本中,完成编辑后,执行全拷贝
代码语言:javascript复制netapp> rdfile /etc/exports
代码语言:javascript复制netapp> wrfile /etc/exports
netapp> exportfs –a
2. 主机端配置 显示目前主机与客户端的 NFS 连接分享的状态
代码语言:javascript复制ha01:/ # showmount -a 192.168.17.51
此地址为存储ip
查看存储设备注册的端口信息
代码语言:javascript复制ha01:/ # rpcinfo -p 192.168.17.51
主机端新建挂载点
代码语言:javascript复制ha01:/ # mkdir /fs-nfs
挂载存储(以root用户执行)
代码语言:javascript复制ha01:/ # mount 192.168.17.51:/vol/vol2 /fs-nfs/
编辑fstab,设置开机自动挂载/fs-nfs加入(AIX配置文件为/etc/filesystems)
代码语言:javascript复制192.168.17.51:/vol/vol2 /fs-nfs nfs defaults 0 0
六、Lun的输出
1. 创建qtree 在卷dropme下创建名为tree-dropme的qtree
代码语言:javascript复制YS-NPHD2>qtree create /vol/dropme/tree-dropme
2. 创建igroup
代码语言:javascript复制YS-NPHD2>igroup create –f –t aix igroup-dropme
3. 加入主机wwpn(World Wide Port Names)号
代码语言:javascript复制YS-NPHD1> igroup add igroup-dropme 10:00:00:00:c9:c0:f5:bb
4. 创建lun 在名为tree-dropme的qtree下创建lun:lun-test1
代码语言:javascript复制YS-NPHD2>lun create –s 20g –t aix /vol/dropme/tree-dropme/lun-test1
5. Lun map Map之前查看lun状态
代码语言:javascript复制YS-NPHD2>lun show –m
YS-NPHD2>lun show
lun map
代码语言:javascript复制YS-NPHD2>lun map /vol/dropme/tree-dropme/lun-test1 igroup-dropme
6. 主机端识别 运行cfgmgr –v 运行lspv,发现多了块物理盘
七、常用操作及注意事项
1. 如何标识磁盘
其中,0a.41即为Disk ID(磁盘标识),Disk ID由path_id和deivce_id组成,即path_id.device_id的形式,通过Disk ID可快速定位磁盘的位置。path_id - 指适配卡所在的槽位,和该适配器上的端口号,例如0a表示slot0上的适配器的a口,slot0一般是主板上集成的,slot0上一般有a、b、c、d共4个端口;可在其他slot上附加适配卡,附加的适配卡一般是双端口的(a和b口)device_id - 指磁盘的loop id或者scsi id号,由磁盘柜的类型、磁盘柜的ID号和该磁盘在磁盘柜中的位置(第几个bay)来决定。另外,从sysconfig -r列出的磁盘信息:HA表示path_id;SHELF表示盘柜的编号;BAY表示该磁盘在盘柜中的位置。
2. 修改机头ip 首先修改/etc/hosts文件,将ip由192.168.17.51改为192.168.17.151
代码语言:javascript复制netapp> rdfile /etc/hosts
netapp> wrfile /etc/hosts
发现ip未生效,重启系统即生效
代码语言:javascript复制netapp> reboot
3. 检查cluster状态是否正常
代码语言:javascript复制YS-NPHD2> cf status
Cluster enabled, YS-NPHD1 is up.
Interconnect status: up.
此状态为正常
4. 命令模式 netapp命令模式分为管理模式和高级模式,默认为管理模式,进入高级模式为:
代码语言:javascript复制netapp> priv set advanced
5. 开关机顺序 开机 开机顺序:先按照磁盘架编号顺序加电磁盘架的双电源,10 秒钟后加电控制器。 关机 在控制器的命令行下输入:> halt,关闭系统. 若是双控请先在两个控制器的命令行下分别输入:>halt -f。 -f是指是不接管。 关机顺序:先关控制器电源,依次关闭磁盘架电源。
6. 串口连接netapp 用一条一头为RJ45,一头为DB9的控制线分别接在磁阵console口和WIN操作系统终端的串口上,WIN操作系统终端和磁阵的网口分别接一根网线到交换机,WIN操作系统终端的IP配置要和磁阵准备分配的IP在一个网段。这样在WIN操作系统终端上就可以开始磁阵的配置了。 打开windows里的超级终端,设置为default: 9600波特率/8位/无校验/1位停止位,
确认后回车出现登陆提示符,登陆用户名为root,输入密码即可。
7. Netapp管理方式 串口连接 远程telnet Filerview(http://xxx.xxx.xx.xx/na_admin) NetApp OnCommand System Manager 管理软件
模拟器:https://pan.baidu.com/s/1nBWivjFjFXgAT-I5Y5bsNw 密码:50aj
管理软件:https://pan.baidu.com/s/1wyBa_NqL4sBwZrb-zQ3vnA 密码:srno
八、模拟器安装
虚拟机版本:ubuntu14.04.5
挂盘
代码语言:javascript复制root@ubuntu-vg4:/# mount /dev/cdrom /mnt/
安装
代码语言:javascript复制root@ubuntu-vg4:/# cp -R /mnt /netapp
root@ubuntu-vg4:/# cd /netapp/
root@ubuntu-vg4:/netapp# ./setup.sh
运行runsim.sh
问题原因:缺少32位运行库,安装即可
代码语言:javascript复制root@ubuntu-vg4:/sim# apt-get install lib32z1
重新执行./runsim.sh
web访问:
http://172.27.9.58/na_admin/
telnet访问:
代码语言:javascript复制root@ubuntu-vg4:~# telnet 172.27.9.58
如果模拟器关机或者虚拟机重启了,再次运行./runsim.sh脚本即可。