1. 如何使光纤通道存储可用于 Oracle Solaris
Oracle Solaris 10 和 Oracle Solaris 11 自带了一个光纤通道发起方系统,您可以对它进行配置以便将 Sun ZFS
存储设备提供的光纤通道 (FC) LUN 集成到 Oracle Solaris 环境中。本文介绍如何配置 Oracle Solaris 光纤通道系统以及如何配置
Sun ZFS 存储设备来配置供 Oracle Solaris 服务器访问的 FC LUN。可以使用浏览器用户界面 (BUI) 完成这些配置。
本文做出以下假设:
已知 Sun ZFS 存储设备的 root 帐户口令。
已知 Sun ZFS 存储设备的 IP 地址或主机名。
已配置好 Sun ZFS 存储设备使用的网络。
Sun ZFS 存储设备已配置有具有足够可用空闲空间的存储资源池。
已知 Oracle Solaris 服务器的 root 帐户口令。
Sun ZFS 存储设备已经连接到光纤通道交换机。
已在 FC 交换机上配置了相应的区域,允许 Oracle Solaris 主机访问 Sun ZFS 存储设备。
配置 Oracle Solaris FC 系统
为了让 Sun ZFS 存储设备和 Oracle Solaris 服务器彼此标识,每个设备的 FC 全球编号 (WWN)
必须在另一个设备中注册。您必须确定在 FC 交换机上实现的某些形式 FC 区域的 WWN。
主机的 FC WWN 用于向 Sun ZFS 存储设备标识主机,并且需要它来完成本文中的配置过程。
WWN 来自在 Oracle Solaris 主机和 Sun ZFS 存储设备中安装的 FC 主机总线适配器 (HBA)。
为了配置 Oracle Solaris FC 系统,您需要知道 Sun ZFS 存储设备的 WWN。在传统的双结构存储区域网络 (SAN) 中,Sun
ZFS 存储设备至少有一个 FC 端口连接到每个结构。因此,您必须至少确定两个 FC WWN。
标识 Sun ZFS 存储设备 FC WWN
首先,您需要建立一个到 Sun ZFS 存储设备的管理会话。
在 Web 浏览器的地址栏中输入一个包含 Sun ZFS 存储设备的 IP 地址或主机名的地址,如以下 URL 所示:
https://<ip-address or host name>:215
将显示登录对话框。
输入用户名和口令,然后单击 LOGIN。
成功登录到 BUI 之后,您可以通过 Configuration 选项卡标识 WWN。
单击 Configuration > SAN > Fibre Channel
Ports。
将显示安装在 Sun ZFS 存储设备中的 FC 端口。由于每个 HBA 通道只有一个已发现的端口,因此这必须是 HBA 通道本身。
在前面的示例中,端口 1 具有 WWN 21:00:00:e0:8b:92:a1:cf,端口 2 具有 WWN
21:01:00:e0:8b:b2:a1:cf。
在每个 FC 端口框右侧的列表框中,应该将 FC 通道端口设置为 Target。如果情况并非如此,则 FC
端口可能用于其他用途。在调查原因之前,请不要更改设置。(一种可能的原因是可能用于了 NDMP 备份。)
标识 Oracle Solaris 主机 HBA WWN
如果 Oracle Solaris 主机已经通过相应的电缆连接到 FC 交换机,则使用以下命令来标识 WWN。
要获得主机的 WWN,输入以下命令:
root@solaris:~# cfgadm -al -o show_FCP_dev
root@solaris:~#
在该输出中,您需要的控制器号为 c8 和 c9。当端口类型为
fc-fabric 时,您还可以看到两个端口都连接到一台 FC 交换机。接下来,查询这些控制器来确定发现的 WWN。
如果 HBA 端口未用于访问任何其他连接 FC 的设备,则可使用以下命令来确定 WWN。
root@solaris:~# prtconf -vp | grep port-wwn
port-wwn: 210000e0.8b89bf8e
port-wwn: 210100e0.8ba9bf8e
root@solaris:~#
如果正在访问 FC 设备,则以下命令将显示 FC HBA WWN。
root@solaris:~# luxadm -e mp_map /dev/cfg/c8
root@solaris:~#
显示为类型 0x1f 的最后一个条目 (Unknown type, Host Bus Adapter)
在端口 WWN 条目下提供了相应的 WWN。重复此命令,使用在第 1 步中标识的其他控制器替换
/dev/cfg/c8。
从输出中,您可以看到 c8 具有 WWN
21:00:00:00:e0:8b:89:bf:8e,c9 具有 WWN
21:01:00:e0:8b:a9:bf:8e。
然后,可以使用 Sun ZFS 存储设备 HBA 和 Oracle Solaris 主机 HBA WWN 来配置任何 FC 交换机区域。
完成此操作之后,您可以运行以下命令来验证正确的区域:
root@solaris:~# cfgadm -al -o show_FCP_dev c8 c9
root@solaris:~#
现在,您可以看到可由 Oracle Solaris 主机访问的 Sun ZFS 存储设备提供的 WWN。
使用浏览器用户界面配置 Sun ZFS 存储设备
作为一个统一的存储平台,Sun ZFS 存储设备既支持通过 iSCSI 协议访问数据块协议
LUN,又支持通过光纤通道协议进行同样的访问。这一节讲述如何使用 Sun ZFS 存储设备 BUI 来配置 Sun ZFS 存储设备,使其能够识别 Oracle
Solaris 主机并向该主机提供 FC LUN。
定义 FC 目标组
在 Sun ZFS 存储设备上创建目标组,以便定义 Oracle Solaris 服务器可通过哪个端口和协议访问提供给它的 LUN。对于此示例,创建 FC
目标组。
执行以下步骤在 Sun ZFS 存储设备上定义 FC 目标组:
单击 Configuration > SAN 显示 Storage Area Network (SAN)
屏幕
单击右侧的 Targets 选项卡,然后选择左侧面板顶部的 Fibre Channel
Ports
将鼠标放置在 Fibre Channel Ports 框中,将在最左侧出现一个 Move 图标()
单击 Move 图标并将此框拖到 Fibre Channel Target
Groups 框,如图 4 所示。
拖动橙色框中的条目来创建新的目标组。将创建组,并将其自动命名为 targets-n,其中
n 是一个整数。
将光标移到新目标组条目上。在 Fibre Channel Target Groups 框右侧会出现两个图标
要重命名新的目标组 targets-0,单击 Edit 图标()显示对话框
在 Name 域中,将默认名称替换为新 FC 目标组的首选名称,单击
OK。本例中用名称 FC-PortGroup 替换
targets-0。在此窗口中,您还可以通过单击所选 WWN 左侧的框来添加第二个 FC 目标端口。第二个端口标识为 PCIe 1:Port 2。
单击 OK 保存更改。
单击 APPLY。 Fibre Channel Target Groups
面板中显示了如上的更改。
定义 FC 发起方
定义 FC 发起方以便允许从一台或多台服务器访问特定卷。应该配置对卷的访问权限,以便允许最少数量的 FC
发起方访问特定卷。如果多个主机可以同时写入一个指定卷并且使用非共享文件系统,则各主机上的文件系统缓存可能出现不一致,最终可能导致磁盘上的映像损坏。一般对于一个卷,只会赋予一个发起方对该卷的访问权限,除非使用的是一种特殊的集群文件系统。
FC 发起方用于从 Sun ZFS 存储设备的角度出发来定义“主机”。在传统的双结构 SAN 中,主机将至少由两个 FC 发起方来定义。FC
发起方定义包含主机 WWN。为了向 Sun ZFS 存储设备标识 Oracle Solaris 服务器,必须在存储设备中注册 Oracle Solaris FC
发起方 WWN,为此要执行以下步骤。
单击 Configuration > SAN 显示 Storage Area Network (SAN)
屏幕
单击右侧的 Initiators 选项卡,然后选择左侧面板顶部的 Fibre Channel
Initiators
单击 Fibre Channel Initiators 左侧的 图标显示 New Fibre Channel Initiator 对话框
如果已在 FC 交换机上配置了区域,则应显示 Oracle Solaris 主机的 WWN(假设没有为它们指定别名)。
在对话框底部单击一个 WWN(如果显示)预填充全球名称,或者在 World Wide Name 框中键入相应的
WWN。
在 Alias 框中输入一个更有意义的符号名称。
单击 OK。
对于其他涉及 Oracle Solaris 主机的 WWN,重复前面的步骤。
定义 FC 发起方组
将一些相关 FC 发起方组成逻辑组,这样可以对多个 FC 发起方执行同一个命令,例如,可以使用一个命令对一个组中的所有 FC 发起方分配 LUN
访问权限。对于下面的示例,FC 发起方组将包含两个发起方。注意,在集群中,多个服务器被视作一个逻辑实体,因此发起方组可以包含更多发起方。
执行以下步骤创建一个 FC 发起方组:
选择 Configuration > SAN 显示 Storage Area Network (SAN)
屏幕。
选择右侧的 Initiators 选项卡,然后单击左侧面板顶部的 Fibre Channel
Initiators。
将光标放置在上一节中创建的一个 FC 发起方条目上。此时,在该条目左侧会出现一个 Move 图标()
单击 Move 图标并将其拖到右侧的 Fibre Channel Initiator
Groups 面板中。此时,在 Fibre Channel Initiators Groups 面板底部出现了一个新的条目(黄色亮显)
将光标移到新的条目框上,然后释放鼠标键。此时会创建一个新的 FC 发起方组,其组名称为
initiators-n,其中 n 是一个整数,如图 13
所示。
将光标移到新发起方组条目上。在目标发起方组框右侧会出现几个图标
单击 Edit 图标()显示对话框
在 Name 域中,将新发起方组的默认名称替换为选定名称,单击 OK。本例使用
sol-server 作为该发起方组名称。
在此对话框中,您可以通过单击 WWN 左侧的复选框向组中添加其他 FC 发起方。
在 SAN 配置屏幕中单击 APPLY 确认所有修改,如图 15 所示。
定义 Sun ZFS 存储设备项目
为了对相关卷进行分组,您可以在 Sun ZFS 存储设备中定义一个项目。通过使用项目,可以继承项目所提供文件系统和 LUN
的属性。还可以应用限额和保留。
执行以下步骤创建一个项目:
选择 Shares > Projects 显示 Projects 屏幕
单击左侧面板顶部的 Projects 左侧的 图标显示
Create Project 对话框
要创建一个新项目,输入项目名称,单击 APPLY。在左侧面板的 Projects 列表中出现了一个新项目。
选择这个新项目查看其所含组件
定义 Sun ZFS 存储设备 LUN
接下来,您将从一个现有存储资源池中创建一个 LUN,供 Oracle Solaris 服务器访问。在下面的示例中,将创建一个名为
DocArchive1 的精简供应 64 GB LUN。
我们将使用定义 FC 目标组一节中创建的 FC 目标组
FC-PortGroup 来确保可以通过 FC 协议访问该 LUN。将使用定义 FC
发起方组一节中定义的发起方组 sol-server 来确保只有在 sol-server
组中定义的服务器才可以访问该 LUN。(在本例中,该发起方组只包含一个服务器。)
执行以下步骤创建一个 LUN:
选择 Shares > Projects 显示 Projects 屏幕。
在左侧 Projects 面板中,选择该项目。然后选择右侧面板顶部的 LUNs
单击 LUNs 左侧的 图标显示 Create LUN
对话框,如图 20 所示。
输入合适的值以配置该 LUN。对于本例,将 Name 设置为
DocArchive1,Volume size 设置为 64 G,并且选中
Thin provisioned 复选框。将 Target Group 设置为 FC 目标组
FC-PortGroup,将 Initiator Group 设置为
sol-server。将 Volume block size 设置为
32k,因为该卷将保存 Oracle Solaris ZFS 文件系统。
单击 APPLY 创建该 LUN 使其供 Oracle Solaris 服务器使用。
配置 LUN 以供 Oracle Solaris 服务器使用
现在我们已准备好了 LUN,可以通过 FC 发起方组使用它了。接着必须执行以下步骤,配置 LUN 以供 Oracle Solaris 服务器使用:
发起一个连接 Sun ZFS 存储设备的 Oracle Solaris FC 会话,如清单 1 所示。由于在发起该 FC 会话前已创建了 LUN,该
LUN 将会自动启用。
清单 1. 发起 Oracle Solaris FC 会话
root@solaris:~# cfgadm -al c8 c9
root@solaris:~# cfgadm -c configure c8::210100e08bb2a1cf
root@solaris:~# cfgadm -c configure c9::210000e08b92a1cf
root@solaris:~# cfgadm -al -o show_FCP_dev c8 c9
root@solaris:~#
验证对 FC LUN 的访问,如清单 2 所示。
清单 2. 验证对 FC LUN 的访问
root@solaris:~# devfsadm -c ssd
root@solaris:~# tail /var/adm/messages
[...]
[...]
在本例中,多路径状态最初显示为 degraded,因为此时只识别了一个路径。进一步,多路径状态更改为
optimal,因为存在多个到达卷的路径。
磁盘设备现在同样可供内部服务器磁盘使用。
格式化 LUN,如清单 3 所示。
清单 3. 格式化 LUN 格式
root@solaris:~# format
Searching for disks...done
: configured with capacity of 63.93GB
AVAILABLE DISK SELECTIONS:
[...]
Specify disk (enter its number): 4
selecting
[disk formatted]
Disk not labeled. Label it now? y
FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
repair - repair a defective sector
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
save - save new disk/partition definitions
inquiry - show vendor, proct and revision
volname - set 8-character volume name
!<cmd> - execute <cmd>, then return
quit
format> q
在准备好的 LUN 上构建 Oracle Solaris ZFS 文件系统,为此创建一个新的 ZFS 池、将此设备添加到 ZFS 池中,并创建 ZFS
文件系统,如清单 4 的示例所示。
清单 4. 构建 Oracle Solaris ZFS 文件系统
root@solaris:~# zfs createzpool create docarchive1 \
root@solaris:~# zfs list
[...]
root@solaris:~# zfs create docarchive1/index
root@solaris:~# zfs create docarchive1/data
root@solaris:~# zfs create docarchive1/logs
root@solaris:~# zfs list
[...]
df(1) 命令的最后两行输出表明,现在大约有 64 GB 新空间可供使用。转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
2. 如何在ZFS中实现RAID结构
RAID是“Rendant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。 RAID技术在存储领域的有着非常重要的作用,满足了不同的需求。RAID按照实现原理的不同分为不同的级别,不同的级别之间工作模式是有区别的。整个的 RAID结构是一些磁盘结构,通过对磁盘进行组合达到提高效率,减少错误的目的,不要因为这么多名词而被吓坏了,它们的原理实际上十分简单。下面我就给大家简单介绍一下在ZFS中可以实现的三种RAID技术:RAID 0、RAID 1和RAID Z(RAID 5的改进)。 RAID 0:无差错控制的带区组 要实现RAID0必须要有两个以上硬盘驱动器,RAID0实现了带区组,数据并不是保存在一个硬盘上,而是分成数据块保存在不同驱动器上。RAID0分为串联卷和并两卷两种。 串联卷写数据是按照顺序写进不同的可用分片,当第一个分片写满时才写第二个分片,这种存储方式只是为我们提供了一种方便的管理结构,便于我们将多个硬盘组合起来,却没有实现更好的性能。 并联卷在写数据时,是将数据平均分布到各个分片上。因为将数据分布在不同驱动器上,所以数据吞吐率大大提高,驱动器的负载也比较平衡。如果刚好所需要的数据在不同的驱动器上效率最好。它不需要计算校验码,实现容易。它的缺点是它没有数据差错控制,如果一个驱动器中的数据发生错误,即使其它盘上的数据正确也无济于事了。不应该将它用于对数据稳定性要求高的场合。如果用户进行图象(包括动画)编辑和其它要求传输比较大的场合使用RAID0比较合适。同时,RAID0可以提高数据传输速率,比如所需读取的文件分布在两个硬盘上,这两个硬盘可以同时读取。那么原来读取同样文件的时间被缩短为1/2。在所有的级别中,RAID 0的速度是最快的。但是RAID 0没有冗余功能的,如果一个磁盘(物理)损坏,则所有的数据都无法使用。 在ZFS文件系统里,我们可以很容易的实现这种结构,在我们组建存储池的过程中,我们就可以建立我们需要的RAID结构的存储池,而在默认情况下,ZFS建立的就是RAID0结构的存储池。 例如:命令 Tonsen#zpool create mypool c0d0 c0d1 就是将c0d0和c0d1组成了一个RAID0结构的存储池,以后向这个池中增加数据时,它的数据分布就是采用平均分布的形式。 RAID 1:镜象结构 对于使用这种RAID1结构的设备来说,RAID控制器必须能够同时对两个盘进行读操作和对两个镜象盘进行写操作,所以必须有两个驱动器。因为是镜象结构在一组盘出现问题时,可以使用镜象,提高系统的容错能力。它比较容易设计和实现。每读一次盘只能读出一块数据,也就是说数据块传送速率与单独的盘的读取速率相同。因为RAID1的校验十分完备,因此对系统的处理能力有很大的影响,通常的RAID功能由软件实现,而这样的实现方法在服务器负载比较重的时候会大大影响服务器效率。当您的系统需要极高的可靠性时,如进行数据统计,那么使用RAID1比较合适。而且RAID1技术支持“热替换”,即不断电的情况下对故障磁盘进行更换,更换完毕只要从镜像盘上恢复数据即可。当主硬盘损坏时,镜像硬盘就可以代替主硬盘工作。镜像硬盘相当于一个备份盘,可想而知,这种硬盘模式的安全性是非常高的,RAID 1的数据安全性在所有的RAID级别上来说是最好的。但是其磁盘的利用率却只有50%,是所有RAID级别中最低的。 在ZFS文件系统里,我们可以通过在命令中增加mirror参数来构建镜像结构的存储池。 例如:命令 Tonsen#zpool create mypool mirror c0d0 c0d1 就是将c0d0和c0d1组成了一个RAID1结构的镜像存储池,以后向这个池中增加数据时,它的数据分布是会写到它所有的镜像盘上。 使用命令 Tonsen#zpool status 我们可以很清楚的看到镜像结构,如下: pool: mypool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM mypool ONLINE 0 0 0 mirror ONLINE 0 0 0 c0d0 ONLINE 0 0 0 c0d1 ONLINE 0 0 0 errors: No known data errors 我们甚至可以在ZFS中将RAID0和RAID1组合起来,形成一个综合的RAID结构。 例如:命令 Tonsen#zpool create mypool mirror c0d0 c0d1 mirror c1d0 c1d1 就是将c0d0、c0d1和c1d0、c1d1分别组成两个镜像,然后这两个镜像又构成一个RAID0的结构。这种结构既提高了可靠性也提高了性能。 使用命令 Tonsen#zpool status 查看一下它的结构,如下: pool: mypool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM mypool ONLINE 0 0 0 mirror ONLINE 0 0 0 c0d0 ONLINE 0 0 0 c0d1 ONLINE 0 0 0 mirror ONLINE 0 0 0 c1d0 ONLINE 0 0 0 c1d1 ONLINE 0 0 0 errors: No known data errors RAID 5:分布式奇偶校验的独立磁盘结构 它的奇偶校验码存在于所有磁盘上,其中的p0代表第0带区的奇偶校验值,其它的意思也相同。RAID5的读出效率很高,写入效率一般,块式的集体访问效率不错。因为奇偶校验码在不同的磁盘上,所以提高了可靠性,允许单个磁盘出错。RAID 5也是以数据的校验位来保证数据的安全,但它不是以单独硬盘来存放数据的校验位,而是将数据段的校验位交互存放于各个硬盘上。这样,任何一个硬盘损坏,都可以根据其它硬盘上的校验位来重建损坏的数据。硬盘的利用率为n-1。但是它对数据传输的并行性解决不好,而且控制器的设计也相当困难。而对于RAID 5来说,大部分数据传输只对一块磁盘操作,可进行并行操作。在RAID 5中有“写损失”,即每一次写操作,将产生四个实际的读/写操作,其中两次读旧的数据及奇偶信息,两次写新的数据及奇偶信息。 RAID Z:是RAID5的改进版本,是solaris10里ZFS特有的一种Raid级别。 容错能力与RAID 5相同,但是对于RAID 5的写入漏洞问题提供了软件解决方案,使用动态的条带化。传统的RAID 5都存在着“写漏洞”,就是说如果RAID 5的stripe在正写数据时,如果这时候电源中断,那么奇偶校验数据将跟该部分数据不同步,因此前边的写无效;RAID-Z用了“variable- width RAID stripes”技术,因此所有的写都是full-stripe writes。之所以能实现这种技术,就是因为ZFS集成了文件系统和设备管理,使得文件系统的元数据有足够的信息来控制“variable-width RAID stripes”。理论上说,创建RAID-Z需要至少三块磁盘,这跟RAID 5差不多。 例如:Tonsen#zpool create mypool raidz c0d0 c0d1 c1d0 c1d1 就是创建了一个由c0d0、c0d1、c1d0和c1d1四块硬盘组成的raidz结构。 使用命令 Tonsen#zpool status 来查看它的结构如下: pool: mypool state: ONLINE scrub: none requested config: NAME STATE READ WRITE CKSUM mypool ONLINE 0 0 0 raidz1 ONLINE 0 0 0 c0d0 ONLINE 0 0 0 c0d1 ONLINE 0 0 0 c1d0 ONLINE 0 0 0 c1d1 ONLINE 0 0 0 errors: No known data errors 在ZFS文件系统里,我们可以通过很简单的方式,就能组织我们需要的各种RAID结构的存储单元,这为我们提供了异常强大的存储管理能力
3. 戴尔vmax存储san环境怎么搭建
部署zfs系统。
把SSD定义为zfs的缓存磁盘,然后把HBA卡设置为target模式,使用targetcli在zfs下的一个文件块推送至vmware或者其他客户端。先安装ZFS文件系统支持,安装targetcli,设置HBA卡为targetmode,重启,检查targetcli是否正确加载qla2xxx模块,下面有qla2xxx输出即为正常。创建backstore,推LUN,设置接入权限,接入端也是两个HBA卡,所以每个target设置两个ACL。
4. 什么是 ZFS
ZFS 文件系统是一种革新性的新文件系统,可从根本上改变文件系统的管理方式,并具有目前面市的其他任何文件系统所没有的功能和优点。ZFS 强健可靠、可伸缩、易于管理。
ZFS 池存储ZFS 使用存储池的概念来管理物理存储。以前,文件系统是在单个物理设备的基础上构造的。为了利用多个设备和提供数据冗余性,引入了卷管理器的概念来提供单个设备的表示,以便无需修改文件系统即可利用多个设备。此设计增加了更多复杂性,并最终阻碍了特定文件系统的继续发展,因为这类文件系统无法控制数据在虚拟卷上的物理放置。
ZFS 可完全避免使用卷管理。ZFS 将设备聚集到存储池中,而不是强制要求创建虚拟卷。存储池说明了存储的物理特征(设备布局、数据冗余等),并充当可以从其创建文件系统的任意数据存储库。文件系统不再仅限于单个设备,从而可与池中的所有文件系统共享磁盘空间。您不再需要预先确定文件系统的大小,因为文件系统会在分配给存储池的磁盘空间内自动增长。添加新存储器后,无需执行其他操作,池中的所有文件系统即可立即使用所增加的磁盘空间。在许多方面,存储池与虚拟内存系统相似:将一个内存 DIMM 加入系统时,操作系统并不强迫您运行命令来配置内存并将其指定给个别进程。系统中的所有进程都会自动使用所增加的内存。
事务性语义ZFS 是事务性文件系统,这意味着文件系统状态在磁盘上始终是一致的。传统文件系统可就地覆写数据,这意味着如果系统断电(例如,在分配数据块到将其链接到目录中的时间段内断电),则会使文件系统处于不一致状态。以前,此问题是通过使用fsck命令解决的。此命令负责检查并验证文件系统状态,并尝试在操作过程中修复任何不一致性。这种文件系统不一致问题曾给管理员造成巨大困扰,
fsck命令并不保证能够解决所有可能的问题。最近,文件系统引入了日志记录的概念。日志记录过程在单独的日志中记录操作,在系统发生崩溃时,可以安全地重放该日志。由于数据需要写入两次,因此该过程会引入不必要的开销,而且通常会导致一组新问题,例如在无法正确地重放日志时。
对于事务性文件系统,数据是使用写复制语义管理的。数据永远不会被覆写,并且任何操作序列会全部被提交或全部被忽略。因此,文件系统绝对不会因意外断电或系统崩溃而被损坏。尽管最近写入的数据片段可能丢失,但是文件系统本身将始终是一致的。此外,只有在写入同步数据(使用O_DSYNC标志写入)后才返回,因此同步数据决不会丢失。
校验和与自我修复数据
对于 ZFS,所有数据和元数据都通过用户可选择的校验和算法进行验证。提供校验和验证的传统文件系统出于卷管理层和传统文件系统设计的必要,会逐块执行此操作。在传统设计中,某些故障可能导致数据不正确但没有校验和错误,如向错误位置写入完整的块等。ZFS 校验和的存储方式可确保检测到这些故障并可以正常地从其中进行恢复。所有校验和验证与数据恢复都是在文件系统层 执行的,并且对应用程序是透明的。
此外,ZFS 还会提供自我修复数据。ZFS 支持存储池具有各种级别的数据冗余性。检测到坏的数据块时,ZFS 会从另一个冗余副本中提取正确的数据,而且会用正确的数据替换错误的数据。
独一无二的可伸缩性
ZFS 文件系统的一个关键设计要素是可伸缩性。该文件系统本身是 128 位的,所允许的存储空间是 256 quadrillion zettabyte (256x1015 ZB)。所有元数据都是动态分配的,因此在首次创建时无需预先分配 inode,否则就会限制文件系统的可伸缩性。所有算法在编写时都考虑到了可伸缩性。目录最多可以包含 248(256 万亿)项,并且对于文件系统数或文件系统中可以包含的文件数不存在限制。
ZFS 快照快照是文件系统或卷的只读副本。可以快速而轻松地创建快照。最初,快照不会占用池中的任何附加磁盘空间。
活动数据集中的数据更改时,快照通过继续引用旧数据来占用磁盘空间。因此,快照可防止将数据释放回池中。
简化的管理最重要的是,ZFS 提供了一种极度简化的管理模型。通过使用分层文件系统布局、属性继承以及自动管理挂载点和 NFS 共享语义,ZFS 可轻松创建和管理文件系统,而无需使用多个命令或编辑配置文件。可以轻松设置配额或预留空间,启用或禁用压缩,或者通过单个命令管理许多文件系统的挂载点。您就可以检查或替换设备,而无需学习另外的一套卷管理命令。您可以发送和接收文件系统快照流
ZFS 通过分层结构管理文件系统,该分层结构允许对属性(如配额、预留空间、压缩和挂载点)进行这一简化管理。在此模型中,文件系统是中央控制点。文件系统本身的开销非常小(相当于创建一个新目录),因此鼓励您为每个用户、项目、工作区等创建一个文件系统。通过此设计,可定义细分的管理点。
5. 如何在Centos7上安装和使用ZFS
如何在Centos7上安装和使用ZFS
导读
ZFS文件系统的英文名称为ZettabyteFileSystem,也叫动态文件系统(DynamicFileSystem),是第一个128位文件系统。最初是由Sun公司为Solaris10操作系统开发的文件系统。作为OpenSolaris开源计划的一部分,ZFS于2005年11月发布,被Sun称为是终极文件系统,经历了10年的活跃开发,而最新的开发将全面开放,并重新命名为OpenZFS。
ZFS优势
ZFS是一种先进的、高度可扩展的文件系统,最初是由Sun Microsystems开发的,现在OpenZFS是项目的一部分。有这么多文件系统可用在Linux上,那自然要问ZFS有什么特别之处。不同于其它文件系统,它不仅是一个文件系统逻辑卷管理器。ZFS使其受欢迎的特性是:
1. 数据完整性——数据一致性和完整性通过即写即拷和校验技术保证。
2. 存储空间池——可用存储驱动器一起放入称为zpool的单个池。
3. 软件RAID ——像发出一个命令一样,建立一个raidz数组。
4. 内置的卷管理器——ZFS充当卷管理器。
5. Snapshots、克隆、压缩——这些都是一些ZFS提供的高级功能。
术语
在我们继续之前,让我们了解一些ZFS的常用的术语。
Pool:存储驱动器的逻辑分组,它是ZFS的基本构建块,从这里将存储空间分配给数据集。
Datasets:ZFS文件系统的组件即文件系统、克隆、快照和卷被称为数据集。
Mirror:一个虚拟设备存储相同的两个或两个以上的磁盘上的数据副本,在一个磁盘失败的情况下,相同的数据是可以用其他磁盘上的镜子。
Resilvering:在恢复设备时将数据从一个磁盘复制到另一个磁盘的过程。
Scrub:擦除用于一致性检验在ZFS像在其他文件系统如何使用fsck。
安装ZFS
为了对CentOS安装ZFS,我们需要先安装支持包EPEL仓库,然后在ZFS存储库上安装所需的ZFS包。
yum localinstall --nogpgcheck
yum localinstall --nogpgcheck
现在安装内核开发和zfs包,内核开发的软件包是需要ZFS建立模块和插入到内核中。
yum install kernel-devel zfs
验证zfs模块插入到内核使用的lsmod命令,如果没有,使用‘modprobe命令手动插入它。
[root@li1467-130 ~]# lsmod |grep zfs
[root@li1467-130 ~]# modprobe zfs
[root@li1467-130 ~]# lsmod |grep zfs
zfs 2790271 0
zunicode 331170 1 zfs
zavl 15236 1 zfs
zcommon 55411 1 zfs
znvpair 89086 2 zfs,zcommon
spl 92029 3 zfs,zcommon,znvpair
让我们检查是否我们可以使用zfs的命令:
[root@li1467-130 ~]# zfs list
no datasets available
6. 在windows上怎么安装zfs文件系统
ZFS是Sun的Solaris操作系统,现在已经开放,FreeBSD和Mac操作系统支持的文件系统所支持。 Zettabyte文件系统,也被称为动态文件系统动态文件系统ZFS,是第一个128位文件系统,无限容量,自我优化的数据永远,无限容量管理简单,超过16十亿十亿次,32/64文件系统应用程序,ZFS像一个标准的POSIX文件系统,而不需要进行移植,ZFS存储池模型,该模型的系统管理员,彻底消除了卷管理的概念。但不管是什么文件系统可以提供无限的存储空间,所以大容量硬盘的解决方案。
7. 如何在Solaris下进行SAN存储配置
Oracle Solaris 10 和 Oracle Solaris 11 自带了一个光纤通道发起方系统,您可以对它进行配置以便将 Sun ZFS
存储设备提供的光纤通道 (FC) LUN 集成到 Oracle Solaris 环境中。本文介绍如何配置 Oracle Solaris 光纤通道系统以及如何配置
Sun ZFS 存储设备来配置供 Oracle Solaris 服务器访问的 FC LUN。可以使用浏览器用户界面 (BUI) 完成这些配置。
本文做出以下假设:
已知 Sun ZFS 存储设备的 root 帐户口令。
已知 Sun ZFS 存储设备的 IP 地址或主机名。
已配置好 Sun ZFS 存储设备使用的网络。
Sun ZFS 存储设备已配置有具有足够可用空闲空间的存储资源池。
已知 Oracle Solaris 服务器的 root 帐户口令。
Sun ZFS 存储设备已经连接到光纤通道交换机。
已在 FC 交换机上配置了相应的区域,允许 Oracle Solaris 主机访问 Sun ZFS 存储设备。
配置 Oracle Solaris FC 系统
为了让 Sun ZFS 存储设备和 Oracle Solaris 服务器彼此标识,每个设备的 FC 全球编号 (WWN)
必须在另一个设备中注册。您必须确定在 FC 交换机上实现的某些形式 FC 区域的 WWN。
主机的 FC WWN 用于向 Sun ZFS 存储设备标识主机,并且需要它来完成本文中的配置过程。
WWN 来自在 Oracle Solaris 主机和 Sun ZFS 存储设备中安装的 FC 主机总线适配器 (HBA)。
为了配置 Oracle Solaris FC 系统,您需要知道 Sun ZFS 存储设备的 WWN。在传统的双结构存储区域网络 (SAN) 中,Sun
ZFS 存储设备至少有一个 FC 端口连接到每个结构。因此,您必须至少确定两个 FC WWN。
标识 Sun ZFS 存储设备 FC WWN
首先,您需要建立一个到 Sun ZFS 存储设备的管理会话。
在 Web 浏览器的地址栏中输入一个包含 Sun ZFS 存储设备的 IP 地址或主机名的地址,如以下 URL 所示:
https://<ip-address or host name>:215
将显示登录对话框。
输入用户名和口令,然后单击 LOGIN。
成功登录到 BUI 之后,您可以通过 Configuration 选项卡标识 WWN。
单击 Configuration > SAN > Fibre Channel
Ports。
将显示安装在 Sun ZFS 存储设备中的 FC 端口。由于每个 HBA 通道只有一个已发现的端口,因此这必须是 HBA 通道本身。
在前面的示例中,端口 1 具有 WWN 21:00:00:e0:8b:92:a1:cf,端口 2 具有 WWN
21:01:00:e0:8b:b2:a1:cf。
在每个 FC 端口框右侧的列表框中,应该将 FC 通道端口设置为 Target。如果情况并非如此,则 FC
端口可能用于其他用途。在调查原因之前,请不要更改设置。(一种可能的原因是可能用于了 NDMP 备份。)
标识 Oracle Solaris 主机 HBA WWN
如果 Oracle Solaris 主机已经通过相应的电缆连接到 FC 交换机,则使用以下命令来标识 WWN。
要获得主机的 WWN,输入以下命令:
root@solaris:~# cfgadm -al -o show_FCP_dev
root@solaris:~#
在该输出中,您需要的控制器号为 c8 和 c9。当端口类型为
fc-fabric 时,您还可以看到两个端口都连接到一台 FC 交换机。接下来,查询这些控制器来确定发现的 WWN。
如果 HBA 端口未用于访问任何其他连接 FC 的设备,则可使用以下命令来确定 WWN。
root@solaris:~# prtconf -vp | grep port-wwn
port-wwn: 210000e0.8b89bf8e
port-wwn: 210100e0.8ba9bf8e
root@solaris:~#
如果正在访问 FC 设备,则以下命令将显示 FC HBA WWN。
root@solaris:~# luxadm -e mp_map /dev/cfg/c8
root@solaris:~#
显示为类型 0x1f 的最后一个条目 (Unknown type, Host Bus Adapter)
在端口 WWN 条目下提供了相应的 WWN。重复此命令,使用在第 1 步中标识的其他控制器替换
/dev/cfg/c8。
从输出中,您可以看到 c8 具有 WWN
21:00:00:00:e0:8b:89:bf:8e,c9 具有 WWN
21:01:00:e0:8b:a9:bf:8e。
然后,可以使用 Sun ZFS 存储设备 HBA 和 Oracle Solaris 主机 HBA WWN 来配置任何 FC 交换机区域。
完成此操作之后,您可以运行以下命令来验证正确的区域:
root@solaris:~# cfgadm -al -o show_FCP_dev c8 c9
root@solaris:~#
现在,您可以看到可由 Oracle Solaris 主机访问的 Sun ZFS 存储设备提供的 WWN。
使用浏览器用户界面配置 Sun ZFS 存储设备
作为一个统一的存储平台,Sun ZFS 存储设备既支持通过 iSCSI 协议访问数据块协议
LUN,又支持通过光纤通道协议进行同样的访问。这一节讲述如何使用 Sun ZFS 存储设备 BUI 来配置 Sun ZFS 存储设备,使其能够识别 Oracle
Solaris 主机并向该主机提供 FC LUN。
定义 FC 目标组
在 Sun ZFS 存储设备上创建目标组,以便定义 Oracle Solaris 服务器可通过哪个端口和协议访问提供给它的 LUN。对于此示例,创建 FC
目标组。
执行以下步骤在 Sun ZFS 存储设备上定义 FC 目标组:
单击 Configuration > SAN 显示 Storage Area Network (SAN)
屏幕
单击右侧的 Targets 选项卡,然后选择左侧面板顶部的 Fibre Channel
Ports
将鼠标放置在 Fibre Channel Ports 框中,将在最左侧出现一个 Move 图标()
单击 Move 图标并将此框拖到 Fibre Channel Target
Groups 框,如图 4 所示。
拖动橙色框中的条目来创建新的目标组。将创建组,并将其自动命名为 targets-n,其中
n 是一个整数。
将光标移到新目标组条目上。在 Fibre Channel Target Groups 框右侧会出现两个图标
要重命名新的目标组 targets-0,单击 Edit 图标()显示对话框
在 Name 域中,将默认名称替换为新 FC 目标组的首选名称,单击
OK。本例中用名称 FC-PortGroup 替换
targets-0。在此窗口中,您还可以通过单击所选 WWN 左侧的框来添加第二个 FC 目标端口。第二个端口标识为 PCIe 1:Port 2。
单击 OK 保存更改。
单击 APPLY。 Fibre Channel Target Groups
面板中显示了如上的更改。
定义 FC 发起方
定义 FC 发起方以便允许从一台或多台服务器访问特定卷。应该配置对卷的访问权限,以便允许最少数量的 FC
发起方访问特定卷。如果多个主机可以同时写入一个指定卷并且使用非共享文件系统,则各主机上的文件系统缓存可能出现不一致,最终可能导致磁盘上的映像损坏。一般对于一个卷,只会赋予一个发起方对该卷的访问权限,除非使用的是一种特殊的集群文件系统。
FC 发起方用于从 Sun ZFS 存储设备的角度出发来定义“主机”。在传统的双结构 SAN 中,主机将至少由两个 FC 发起方来定义。FC
发起方定义包含主机 WWN。为了向 Sun ZFS 存储设备标识 Oracle Solaris 服务器,必须在存储设备中注册 Oracle Solaris FC
发起方 WWN,为此要执行以下步骤。
单击 Configuration > SAN 显示 Storage Area Network (SAN)
屏幕
单击右侧的 Initiators 选项卡,然后选择左侧面板顶部的 Fibre Channel
Initiators
单击 Fibre Channel Initiators 左侧的 图标显示 New Fibre Channel Initiator 对话框
如果已在 FC 交换机上配置了区域,则应显示 Oracle Solaris 主机的 WWN(假设没有为它们指定别名)。
在对话框底部单击一个 WWN(如果显示)预填充全球名称,或者在 World Wide Name 框中键入相应的
WWN。
在 Alias 框中输入一个更有意义的符号名称。
单击 OK。
对于其他涉及 Oracle Solaris 主机的 WWN,重复前面的步骤。
定义 FC 发起方组
将一些相关 FC 发起方组成逻辑组,这样可以对多个 FC 发起方执行同一个命令,例如,可以使用一个命令对一个组中的所有 FC 发起方分配 LUN
访问权限。对于下面的示例,FC 发起方组将包含两个发起方。注意,在集群中,多个服务器被视作一个逻辑实体,因此发起方组可以包含更多发起方。
执行以下步骤创建一个 FC 发起方组:
选择 Configuration > SAN 显示 Storage Area Network (SAN)
屏幕。
选择右侧的 Initiators 选项卡,然后单击左侧面板顶部的 Fibre Channel
Initiators。
将光标放置在上一节中创建的一个 FC 发起方条目上。此时,在该条目左侧会出现一个 Move 图标()
单击 Move 图标并将其拖到右侧的 Fibre Channel Initiator
Groups 面板中。此时,在 Fibre Channel Initiators Groups 面板底部出现了一个新的条目(黄色亮显)
将光标移到新的条目框上,然后释放鼠标键。此时会创建一个新的 FC 发起方组,其组名称为
initiators-n,其中 n 是一个整数,如图 13
所示。
将光标移到新发起方组条目上。在目标发起方组框右侧会出现几个图标
单击 Edit 图标()显示对话框
在 Name 域中,将新发起方组的默认名称替换为选定名称,单击 OK。本例使用
sol-server 作为该发起方组名称。
在此对话框中,您可以通过单击 WWN 左侧的复选框向组中添加其他 FC 发起方。
在 SAN 配置屏幕中单击 APPLY 确认所有修改,如图 15 所示。
定义 Sun ZFS 存储设备项目
为了对相关卷进行分组,您可以在 Sun ZFS 存储设备中定义一个项目。通过使用项目,可以继承项目所提供文件系统和 LUN
的属性。还可以应用限额和保留。
执行以下步骤创建一个项目:
选择 Shares > Projects 显示 Projects 屏幕
单击左侧面板顶部的 Projects 左侧的 图标显示
Create Project 对话框
要创建一个新项目,输入项目名称,单击 APPLY。在左侧面板的 Projects 列表中出现了一个新项目。
选择这个新项目查看其所含组件
定义 Sun ZFS 存储设备 LUN
接下来,您将从一个现有存储资源池中创建一个 LUN,供 Oracle Solaris 服务器访问。在下面的示例中,将创建一个名为
DocArchive1 的精简供应 64 GB LUN。
我们将使用定义 FC 目标组一节中创建的 FC 目标组
FC-PortGroup 来确保可以通过 FC 协议访问该 LUN。将使用定义 FC
发起方组一节中定义的发起方组 sol-server 来确保只有在 sol-server
组中定义的服务器才可以访问该 LUN。(在本例中,该发起方组只包含一个服务器。)
执行以下步骤创建一个 LUN:
选择 Shares > Projects 显示 Projects 屏幕。
在左侧 Projects 面板中,选择该项目。然后选择右侧面板顶部的 LUNs
单击 LUNs 左侧的 图标显示 Create LUN
对话框,如图 20 所示。
输入合适的值以配置该 LUN。对于本例,将 Name 设置为
DocArchive1,Volume size 设置为 64 G,并且选中
Thin provisioned 复选框。将 Target Group 设置为 FC 目标组
FC-PortGroup,将 Initiator Group 设置为
sol-server。将 Volume block size 设置为
32k,因为该卷将保存 Oracle Solaris ZFS 文件系统。
单击 APPLY 创建该 LUN 使其供 Oracle Solaris 服务器使用。
配置 LUN 以供 Oracle Solaris 服务器使用
现在我们已准备好了 LUN,可以通过 FC 发起方组使用它了。接着必须执行以下步骤,配置 LUN 以供 Oracle Solaris 服务器使用:
发起一个连接 Sun ZFS 存储设备的 Oracle Solaris FC 会话,如清单 1 所示。由于在发起该 FC 会话前已创建了 LUN,该
LUN 将会自动启用。
清单 1. 发起 Oracle Solaris FC 会话
root@solaris:~# cfgadm -al c8 c9
root@solaris:~# cfgadm -c configure c8::210100e08bb2a1cf
root@solaris:~# cfgadm -c configure c9::210000e08b92a1cf
root@solaris:~# cfgadm -al -o show_FCP_dev c8 c9
root@solaris:~#
验证对 FC LUN 的访问,如清单 2 所示。
清单 2. 验证对 FC LUN 的访问
root@solaris:~# devfsadm -c ssd
root@solaris:~# tail /var/adm/messages
[...]
[...]
在本例中,多路径状态最初显示为 degraded,因为此时只识别了一个路径。进一步,多路径状态更改为
optimal,因为存在多个到达卷的路径。
磁盘设备现在同样可供内部服务器磁盘使用。
格式化 LUN,如清单 3 所示。
清单 3. 格式化 LUN 格式
root@solaris:~# format
Searching for disks...done
: configured with capacity of 63.93GB
AVAILABLE DISK SELECTIONS:
[...]
Specify disk (enter its number): 4
selecting
[disk formatted]
Disk not labeled. Label it now? y
FORMAT MENU:
disk - select a disk
type - select (define) a disk type
partition - select (define) a partition table
current - describe the current disk
format - format and analyze the disk
repair - repair a defective sector
label - write label to the disk
analyze - surface analysis
defect - defect list management
backup - search for backup labels
verify - read and display labels
save - save new disk/partition definitions
inquiry - show vendor, proct and revision
volname - set 8-character volume name
!<cmd> - execute <cmd>, then return
quit
format> q
在准备好的 LUN 上构建 Oracle Solaris ZFS 文件系统,为此创建一个新的 ZFS 池、将此设备添加到 ZFS 池中,并创建 ZFS
文件系统,如清单 4 的示例所示。
清单 4. 构建 Oracle Solaris ZFS 文件系统
root@solaris:~# zfs createzpool create docarchive1 \
root@solaris:~# zfs list
[...]
root@solaris:~# zfs create docarchive1/index
root@solaris:~# zfs create docarchive1/data
root@solaris:~# zfs create docarchive1/logs
root@solaris:~# zfs list
[...]
df(1) 命令的最后两行输出表明,现在大约有 64 GB 新空间可供使用。转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
FC、IP网络的安全性
不论是光纤通道还是IP网络,主要的潜在威胁来自非授权访问,特别是管理接口。例如,一旦获得和存储区域网络(SAN)相连接服务器管理员的权限,欺诈进入就可以得逞。这样入侵者可以访问任何一个和SAN连接的系统。因此,无论使用的是哪一种存储网络,应该认识到应用充分的权限控制、授权访问、签名认证的策略对防止出现安全漏洞是至关重要的。
测错攻击在IP网络中也比在光纤通道的SAN中易于实现。针对这类攻击,一般是采用更为复杂的加密算法。
尽管DoS似乎很少发生,但是这并不意味着不可能。然而如果要在光纤通道SAN上实现DoS攻击,则不是一般的黑客软件所能实现的,因为它往往需要更为专业的安全知识。
实现SAN数据安全方法
保证SAN数据安全的两个基本安全机制是分区制zoning和逻辑单元值(Logical Unit Number)掩码。
分区制是一种分区方法。通过该方法,一定的存储资源只对于那些通过授权的用户和部门是可见的。一个分区可以由多个服务器、存储设备、子系统、交换机、HBA和其它计算机组成。只有处于同一个分区的成员才可以互相通讯。
分区制往往在交换级来实现。根据实现方式,可以分为两种模式,一为硬分区,一为软分区。硬分区是指根据交换端口来制定分区策略。所有试图通过未授权端口进行的通讯均是被禁止的。由于硬分区是在系统电路里来实现,并在系统路由表中执行,因此,较之软分区,具有更好的安全性。
在光纤通道网络中,软分区是基于广域命名机制的(WWN)的。WWN是分配给网络中光纤设备的唯一识别码。由于软分区是通过软件来保证在不同的分区中不会出现相同的WWNs,因此,软分区技术比硬分区具有更好的灵活性,特别是在网络配置经常变化的应用中具有很好的可管理性。
有些交换机具有端口绑定功能,从而可以限制网络设备只能和通过预定义的交换端口进行通讯。利用这种技术,可以实现对存储池的访问限制,从而保护SAN免受非授权用户的访问。
另一种被广泛采用的技术是LUN掩码。一个LUN就是对目标设备(如磁带和磁盘阵列)内逻辑单元的SCSI识别标志。在光纤通道领域,LUN是基于系统的WWN实现的。
LUN掩码技术是将LUN分配给主机服务器,这些服务器只能看到分配给它们的LUN。如果有许多服务器试图访问特定的设备,那么网络管理者可以设定特定的LUN或LUN组可以访问,从而可以拒绝其它服务器的访问,起到保护数据安全的目的。不仅在主机上,而且在HBA、存储控制器、磁盘阵列、交换机上也可以实现各种形式的LUN屏蔽技术。
如果能够将分区制和LUN技术与其它的安全机制共同运用到网络及其设备上的话,对网络安全数据安全将是非常有效的。
业界对存储安全的做法
尽管目前对于在哪一级设备应用存储安全控制是最优的还没有一个明确的结论,例如,IPSec能够在ASIC、VPN设备、家电和软件上实现,但目前已有很多商家在他们的数据存储产品中实现了加密和安全认证功能。
IPSec对于其它基于IP协议的安全问题,比如互联网小型计算机接口(iSCSI)、IP上的光纤通道 (FCIP)和互联网上的光线通道 (IFCP)等,也能起到一定的的作用。
通常使用的安全认证、授权访问和加密机制包括轻量级的路径访问协议Lightweight Directory Access Protocol (LDAP)、远程认证拨入用户服务(RADIUS), 增强的终端访问控制器访问控制系统(TACACS+)、Kerberos、 Triple DES、高级加密标准(AES)、安全套接层 (SSL)和安全Shell(SSH)。
尽管SAN和NAS的安全机制有诸多相似之处,其实它们之间也是有区别的。很多NAS系统不仅支持SSH、SSL、Kerberos、RADIUS和LDAP安全机制,同时也支持访问控制列表(ACL)以及多级许可。这里面有一个很重要的因素是文件锁定,有很多产品商家和系统通过不同的方式来实现这一技术。例如,微软采用的为硬锁定,而基于 Unix的系统采用的是相对较为松弛的建议级锁定。由此可以看到,如果在Windows-Unix混合环境下,将会带来一定的问题。
呼唤存储安全标准化
SAN安全的实现基础在交换机这一层。因此,存储交换机的标准对网络产品制造商的技术提供方式的影响是至关重要的。
存储安全标准化进程目前还处于萌芽阶段。ANSI成立了T11光纤通信安全协议(FC-SP)工作组来设计存储网络基础设施安全标准的框架。目前已经提交了多个协议草案,包括FCSec协议,它实现了IPSec和光纤通讯的一体化;同时提交的还有针对光纤通讯的挑战握手认证协议(CHAP)的一个版本;交换联结认证协议(SLAP)使用了数字认证使得多个交换机能够互相认证;光纤通信认证协议(FCAP)是SLAP的一个扩展协议。IEEE的存储安全工作组正在准备制定一个有关将加密算法和方法标准化的议案。
存储网络工业协会(SNIA)于2002年建立了存储安全工业论坛(SSIF),但是由于不同的产品商支持不同的协议,因此实现协议间的互操作性还有很长一段路要走。
关注存储交换安全
大家都已经注意到了为了保证存储安全,应该在存储交换机和企业网络中的其它交换机上应用相同的安全预警机制,因此,对于存储交换机也应有一些特殊的要求。
存储交换安全最重要的一个方面是保护光纤管理接口,如果管理控制台没有很好的安全措施,则一个非授权用户有可能有意或无意地入侵系统或改变系统配置。有一种分布锁管理器可以防止这类事情发生。用户需要输入ID和加密密码才能够访问交换机光纤的管理界面。为了将SAN设备的管理端口通过安全认证机制保护起来,最好是将SAN配置管理工作集中化,并且对管理控制台和交换机之间的通讯进行加密。另外一个方面,在将交换机接入到光纤网络之前,也应该通过ACL和 PKI机制实现授权访问和安全认证。因此,交换机间链接应当建立在严密的安全防范措施下。
8. ZFS文件系统快照和使用方法
ZFS文件系统的快照功能使用非常方便,创建快照几乎秒创建,恢复也很快,且在创建时不会额外消耗存储空间
zfs snapshot xxx@yyy
其中xxx是zfs磁盘名,yyy是快照名
zfs list -t snap
zfs destroy xxx@yyy
zfs rollback -r xxx@yyy
zfs get origin xxx
快照本身创建时并不占用空间,但是随着时间推移,快照会逐渐占用空间。这是因为zfs默认会释放一些文件占用的旧数据空间,但是为了保留快照,必须要把这部分旧数据保留,直到快照删除。因此不宜保留快照很长时间,应该定时进行清理。
如果时间长度固定,只是增加快照频次,不会显着增加快照占用的空间,例如保留1天前的一个快照,与保留1天内每小时一个24个快照,占用的空间差不太多。
9. 如何在Centos7上安装和使用ZFS
安装ZFS
为了对CentOS安装ZFS,我们需要先安装支持包EPEL仓库,然后在ZFS存储库上安装所需的ZFS包。
yum localinstall --nogpgcheck http://epel.mirror.net.in/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el7.noarch.rpm
现在安装内核开发和zfs包,内核开发的软件包是需要ZFS建立模块和插入到内核中。
yum install kernel-devel zfs
验证zfs模块插入到内核使用的lsmod命令,如果没有,使用‘modprobe命令手动插入它。
[root@li1467-130 ~]# lsmod |grep zfs
[root@li1467-130 ~]# modprobe zfs
[root@li1467-130 ~]# lsmod |grep zfs
zfs 2790271 0
zunicode 331170 1 zfs
zavl 15236 1 zfs
zcommon 55411 1 zfs
znvpair 89086 2 zfs,zcommon
spl 92029 3 zfs,zcommon,znvpair
让我们检查是否我们可以使用zfs的命令:
[root@li1467-130 ~]# zfs list
no datasets available
10. os用什么怎么用呢
苹果公司已经意识到用户们的问题:面对大量存储、管理成百上千的文件、对它们进行备份和恢复。对此,业内专家Carl Howe在英国泰晤士报上撰文称,苹果公司提供给用户的解决办法应该是使用Sun公司的ZFS的文件系统。
"对ZFS最简单描述就是,它是一个对计算机怎样存储信息的完整反思。"Howe写道。"它认为用户们在使用计算机时能够意识到磁盘已经是上个世纪的事情了,ZFS将你的所有磁盘看成一个存储池,然后帮你管理这些磁盘;用户仅仅处理文件就可以了。如果想要为存储扩容,仅仅是向这个存储池添加一个磁盘,然后ZFS就知道该怎么做了。如果想要替换磁盘,告诉ZFS将磁盘从存储池中移走,接下来它就会帮你清除磁盘了。你不需要知道有多少个副本存在你的系统里,你也不必知道他们具体在什么位置。但是你知道,他们一直为你待在存储池里"。
据Howe说,这样以来结果就是,苹果公司能够解决与TB级存储有关的问题,可以对操作系统做快照然后恢复到之前的状态,轻松实现对离线存储备份的管理。
追溯到2000年,Howe在一篇报道中提醒厂家和销售者"他们需要在销售和落实存储过程中作出根本改变,以防止他们的客户淹没在海量数据和令人头疼的数据管理当中。"
前不久,Sun公司CEO Jonathan Schwartz表示,苹果将使用Sun公司开发的ZFS文件系统作为Mac OS X 10.5 Leopard的默认文件系统,ZFS即Zettabyte File System,是由Sun公司为Solaris 10操作系统开发的文件系统,作为OpenSolaris开源计划的一部分,可以免费使用。ZFS被Sun称为是终极文件系统,它是一款128位文件系统,其支持的存储容量比现有系统大16x10e16倍。可以说,在可预见的未来,ZFS几乎没有可能出现存储空间不足的问题,可以说是无限容量。