导图社区 模块 4 云计算底层技术基础-存储基础
云计算中的部分存储基础知识整理,包括:开源企业存诸freenas、Account、storage、Sharing。
编辑于2022-03-18 15:07:59云计算中的部分存储基础知识整理,包括:开源企业存诸freenas、Account、storage、Sharing。
网络基础知识思维导图,主要内容有网络范围、网络模型(标准)、单位、数据发送方式、数据包装格式、网络层IP协议、网络设备路由器/交换机设置。
这是一篇关于第五部分 Linux 系统管理员的思维导图,从chapter 20 启动流程、模块管理与Loader、内核与内核模块、内核模块查看、initrd的重要性与创建initrd文件、内核功能中的vga设置、init配置文件错误等内容,总结的非常细致全面。
社区模板帮助中心,点此进入>>
云计算中的部分存储基础知识整理,包括:开源企业存诸freenas、Account、storage、Sharing。
网络基础知识思维导图,主要内容有网络范围、网络模型(标准)、单位、数据发送方式、数据包装格式、网络层IP协议、网络设备路由器/交换机设置。
这是一篇关于第五部分 Linux 系统管理员的思维导图,从chapter 20 启动流程、模块管理与Loader、内核与内核模块、内核模块查看、initrd的重要性与创建initrd文件、内核功能中的vga设置、init配置文件错误等内容,总结的非常细致全面。
模块 4 云计算底层技术基础-存储基础
主题
主题
开源企业存储 freenas
Account
手动创建和管理用户与用户组
创建一个所有用户都将使用的guest帐户,或者为网络中的每个用户创建一个用户帐户,其中每个帐户的名称与计算机上使用的登录名称相同。例如,如果一个Windows系统有一个登录名bobsmith,那么在FreeNAS上创建一个名为bobsmith的用户帐户。一种常见的策略是创建具有共享的不同权限集的组,然后将用户分配给这些组
每个帐户条目表明用户ID、用户名、主组ID、主目录、默认shell、全名、是否为FreeNAS安装时内置的用户、电子邮件地址、登录是否被禁用、用户帐户是否被锁定。是否允许用户使用sudo
除root用户外,FreeNAS自带的帐号均为系统帐号。每个系统帐户都由一个服务使用,不应作为登录帐户使用。由于这个原因,系统帐户上的默认shell是nologin(8)。出于安全考虑,为防止系统服务中断,请不要修改系统帐号。
用户ID与用户组ID都起始1000
storage
Volumes 卷
Volume Manage 卷管理器
用于向ZFS池添加磁盘,在ZFS术语中,被ZFS管理的存储叫做池,FreeNAS图像化界面用卷(Volume)代表一个ZFS池,换句话说创建卷也就是创建ZFS存储池,需要指定一个ZFS存储池名称(Volume name)
类比于华为OceanStore中创建硬盘域
Create zvol
ZFS特性,在ZFS上创建一个原始块设备来将zvol用于iSCSI设备,需要指定一个zvol名称(zvol name)、zvol 空间大小(Size for this zvol)高级特性中还可指定块大小(Block size)用来设置将在iSCSI目标上格式化的文件系统的块大小
Create Dataset
Dataset
现有的ZFS卷可以划分为多个数据集。可以在每个数据集的基础上设置权限、压缩、重复数据删除和配额,从而允许对存储数据的访问进行更细粒度的控制。数据集类似于文件夹,可以在其中设置权限;它还类似于文件系统,可以设置诸如配额和压缩之类的属性,也可以创建快照
参数
Dataset Name
设置数据集唯一名称
Comments
数据集描述信息
Compression Level
压缩等级,将数据集用于压缩时的设置值
Share type
选择将在数据集上使用的共享类型;选择unix作为NFS共享。Windows作为SMB共享或Mac对应AFP共享
Case Sensitivity
文件名大小写敏感设置,sensitive表示敏感, insensitive 表示不敏感, mixed表示两种类型(大小写) 都懂
Enable atime
控制读取文件时是否更新其访问时间;将此属性设置为Off可避免在读取文件时产生日志流量,并可显著提高性能
高级参数用于针对其他(重复数据删除和配额)的设置
创建数据集之后,可以单击该数据集并选择“创建数据集”,从而创建嵌套数据集或数据集中的数据集。还可以在数据集中创建zvol。在创建数据集时,请仔细检查是否对预期的卷或数据集使用了“创建数据集”选项。如果您在卷上创建数据集时感到困惑,请单击所有现有的数据集关闭它们,其余的Create dataset将用于该卷。
Change Permissions
参数
Apply Owner (user)
取消选中以防止将新的权限更改应用到Owner(用户)
Owner (user)
设置用户
Apply Owner (group)
Owner (group)
设置用户组
Apply Mode
Mode
具体权限,采用的是linux系统的文件权限,所以只适用于unix或Mac的“权限类型”,如果选择Windows,将会是灰色的
Permission Type
权限类型,可选择Unix、Mac或Windows;选择与要访问卷或数据集的客户端相匹配的类型
Set permission recursively
递归属性,勾选此项,权限也将应用于卷/数据集的子目录;如果卷/数据集上已经存在数据,请在客户端修改权限,以防止性能延迟
Apply Owner(用户)、Apply Owner(组)和Apply Mode复选框允许对更改权限行为进行微调。默认情况下,所有框都是选中的,当单击Change按钮时,FreeNAS®重置所有者、组和模式。这些复选框允许选择要更改的设置。例如,若只更改所有者(组)设置,就取消Apply Owner(用户)和Apply Mode复选框
设置权限这里需要用到的用户或用户组必须先在Account中创建
Sharing
Apple (AFP) Shares
FreeNAS使用Netatalk AFP服务器与苹果系统共享
Unix (NFS) Shares
FreeNAS 支持 NFS(Network File System)共享
客户端使用mount命令挂载共享,挂载后,NFS共享显示为客户机系统上的另一个目录。一些Linux发行版需要安装额外的软件才能挂载NFS共享。在Windows系统上,在Ultimate或Enterprise版本中需要启用NFS服务,或者安装NFS客户端应用程序。
Add Unix (NFS)Share
Path
浏览要共享的卷或数据集;单击“添加额外路径”可选择多条路径
Comment
设置共享名称;如果不设置为空,则共享名称是所选路径条目的列表
Authorized networks
授权的网络,被允许的用网络/掩码CIDR表示法的网络列表,如1.2.3.0/24,用空格分隔;允许所有就不用填
Authorized IP addresses or hosts
被允许的ip地址或主机名的列表,同样空格分隔,不填表示允许所有
All directories
选中时,允许客户端挂载Path中的任何子目录
Read only
设置共享为只读模式,禁止写入
Quiet
除了有用的syslog诊断外其他都禁止,以避免一些恼人的错误消息;
Maproot User
当选择一个用户时,根用户被限制为该用户的权限
Maproot Group
当选择一个组时,根用户也被限制为该组的权限
Mapall User
指定用户的权限将被所有客户端使用
Mapall Group
指定的组的权限被所有客户端使用
Security
在创建NFS共享时,请注意以下几点:
1. 客户端将在挂载共享时指定Path
2. Maproot和Mapall选项是互斥的,这意味着只能使用一个选项——GUI不允许两者同时使用。Mapall选项取代了Maproot选项。要仅限制根用户的权限,请设置Maproot选项。要限制所有用户的权限,请设置Mapall选项
3.每个卷或数据集被认为是它自己的文件系统,NFS不能跨越文件系统边界
4. 对于每个共享、每个文件系统或目录,网络或主机必须是唯一的
5. “所有目录”选项对于每个文件系统的共享只能使用一次
默认情况下,Mapall选项显示为N/A。这意味着当用户连接到NFS共享时,他们连接到与其用户帐户相关联的权限。如果用户能够以root身份连接,这将是一个安全风险,因为他们将拥有对共享的完全访问权
更好的方案是这样做:
1. 指定内置的nobody帐户用于NFS访问
2. 在正在共享的卷/数据集的“更改权限”界面中,将所有者和组更改为“nobody”,并根据需要设置权限
3.在“共享→Unix (NFS)共享”的“Mapall用户”和“Mapall组”下拉菜单中选择“nobody”
使用此配置,连接到NFS共享的用户帐户并不重要,因为它将映射到nobody用户帐户,并且只具有在卷/数据集上指定的权限。例如,即使根用户能够连接。它不会获得对共享的根访问权
Connecting to the Share
假设共享配置信息如下
1. FreeNAS系统的IP地址为192.168.2.2 2. 创建名为/mnt/volumel/nfs sharel的数据集,并将权限设置为nobody用户帐户 和nobody组 3.创建NFS共享时,路径(Path):/mnt/volume1/nfs_share1 授权网络(Authorized Networks):192.168.2.0/24 (All Directories )选中“所有目录”复选框 MapAll用户(MapAll User)设置为“nobody” MapAll组(MapAll Group)被设置为nobody
From BSD or Linux
NFS共享挂载在BSD或Linux系统上,使用超级用户或sudo命令执行: mount -t nfs 192.168.2.2:/mnt/volume1/nfs_share1 /mnt
-t nfs
指定共享的文件系统类型
192.168.2.2
为FreeNAS系统的IP地址
/mnt/volume/nfs share1
为共享目录的名称。本例中是一个数据集
/mnt
是客户端系统上的挂载点。这必须是一个现有的空目录。NFS共享中的数据出现在客户端计算机的此目录中
这个配置允许客户端系统上的用户从/mnt(挂载点)复制文件。所有文件都属于nobody用户和用户组。对/mnt目录下的任何文件的更改都会写入freenas系统的/mnt/volume1/nfs_share1数据集。如果NFS共享挂载在任何客户端计算机上,则无法更改其设置,必须先卸载,umount命令用于在BSD和Linux客户端上卸载共享。使用超级用户或sudo命令执行:umount /mnt
挂载命令:mount -t [共享的文件系统类型] [FreeNAS系统IP地址]:[共享目录名称] [挂载点]
注意:成功挂载共享将返回命令提示符,没有任何状态或错误消息。如果这个命令在Linux系统上失败,请确保nfs-utils包已经安装。
From Microsoft
开启NFS服务
修改注册表信息
在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default下新增两个DWORD 32类型的一个是AnonymousUid,一个是AnonymousGid
挂载
showmount -e [NAS服务器IP地址]
查看共享路径
用法: mount -o nolock -u:用户名 -p:* 主机地址:路径信息 盘符:\
From Mac OS X
点击Go → Connect to Server
在 Server Address 中输入nfs://FreeNAS系统IP地址:共享路径
比如前一个例子:nfs://192.168.2.2:/mnt/volume1/nfs_share1
WebDAV Shares
FreeNAS支持网络硬盘共享
Windows (SMB /CIFS) Shares
FreeNAS使用Samba来共享卷,使用的是微软的SMB协议实现CIFS共享.SMB内置在Windows和Mac OS X操作系统中,大多数Linux和BSD系统预先安装Samba客户机,以便提供对SMB的支持
Add Windows (SMB) Share
Path
不用说,共享的路径
Use as home share
是否将用户的家目录一起共享,家庭共享可以使用
Name
共享的名称
Comment
高级参数选项,对共享的说明
Apply Default Permissions
将acl设置为允许所有者/组 读/写,其他用户只读:当在已经设置了自定义acl的系统上创建共享时,应该取消勾选
Export Read Only
高级设置参数选项,禁止对共享进行写访问
Browsable to Network Clients
高级选项,设置网络中其他用户家目录是否可见,勾选该选项则在用户自己家目录下可以看到其他用户的家目录,不勾选就只能看到自己的
Export Recycle Bin
高级选项,被删除的文件会被移动到共享根目录下的.recycle这个隐藏文件夹中,这个文件夹可以删除来恢复空间,当删除新文件时会自动创建出来
Show Hidden Files
高级选项,如果启用,则在创建以点(Unix隐藏文件)开头的文件名时不设置Windows隐藏属性;不影响现有文件
Allow Guest Access
如果勾选此项,则连接到共享时不需要密码,所有用户共享SMB服务中定义的guest用户的权限
Only Allow Guest Access
高级选项,只允许使用gust用户来访问,Allow guest access也要一起勾选
Hosts Allow
高级选项,允许的主机名或IP地址列表使用逗号、空格或tab隔开
Hosts Deny
高级选项,被拒绝的主机名或IP地址列表,用逗号、空格或tab分隔;允许的主机优先,因此可以在此字段中使用ALL,并在“允许主机”中指定允许的主机
VFS Objects
高级选项,勾选此项允许增加虚拟文件系统模块以增强功能
Periodic Snapshot Task
高级选项,用于在每个共享的基础上配置目录影子副本:选择预先配置的定时快照任务用于共享的影子副本;定时快照必须是递归的
Auxiliary Parameters
Connecting to the Share
From BSD or Linux
From Microsoft
FreeNAS系统的IP地址为192.168.199.128 共享路径是:/mnt/Huawei_Cloud_FreeNAS/NAS-CIFS/ciadmin 共享名称是:cifs-share-admin 用户ciadmin home:/mnt/Huawei_Cloud_FreeNAS/NAS-CIFS/ciadmin
运行里面执行:\\FreeNAS系统IP地址\共享名称
\\192.168.199.128\cifs-share-admin
映射网络驱动器
From Mac OS X
Block (iSCSI)
通过iSCSI让FreeNAS在以太网网络中扮演存储区域网络(SAN)的角色
iSCSI相关术语
CHAP
一种认证方式,用来确定一个系统是否具有权限访问存储设备,在iSCSI协议中由启动器(客户端)执行CHAP认证
Mutual CHAP
互相CHAP,CHAP的一个超集,在通信的两端彼此互相CHAP
Initiator
启动器,授权访问FreeNAS系统存储数据的客户端,客户端需要启动器软件来启动与iSCSI共享的连接
Target
目标器,FreeNAS系统中的存储资源,每个目标都有一个唯一的名称为iSCSI限定名称(IQN)
Internet Storage Name Service (iSNS)
在TCP/IP网络中自动发现iSCSI设备的协议
Extent
共享的存储单元,它可以是一个文件或一个设备
Portal
门户,表示侦听连接请求的IP地址和端口
LUN(Logical Unit Number)
逻辑单元号,一个LUN代表一个逻辑SCSI设备
启动器与目标器协商建立与LUN的连接,结果是一个iSCSI连接,它模拟一个与SCSI硬盘的连接。启动器将所有iSCSI LUN均视为原始SCSI或SATA硬盘驱动器。启动器直接格式化管理iSCSI LUN上的文件系统,而不是挂载远程目录
配置多个iSCSI LUN时,需要为每个LUN创建一个新的目标(Target)
当多个目标关联到同一个LUN时,可能会出现TCP争用。FreeNAS最多支持1024个LUN
配置iSCSI
1. 检查目标全局配置参数
Target Global Configuration
包含应用于所有iSCSI共享的设置,包括
Base Name
设置或者说是构造iSCSI名称(iqn)
ISNS Servers
Pool Available Space Threshold
2. 创建至少一个网络端口
Portals
指定iSCSI连接的IP地址和端口号启动器可以通过这个地址和端口号来和目标连接,可以配置的参数有
Comment
对Portals的描述信息,Portals会自动分配一个数字组ID,即Portal Group ID,这个ID用于第5步创建目标Target时和启动器组ID(Initiator Group ID)和目标器做关联绑定
Discovery Auth Method
配置目标器发现有效设备所需的认证级别,其中None表示允许匿名发现,而CHAP 和Mutual CHAP则需要认证
Discovery Auth Group
该选项依据上一个选项(Discovery Auth Method)的设置来配置,如果Discovery Auth Method设置的是CHAP 或Mutual CHAP就选择在“授权访问”(Authorized Access)中已经创建的用户,这需要设置第四步的Authorized Access
IP address
选择与接口关联的IP地址或通配符地址0.0.0.0(表示任意接口)
Port
用于访问iSCSI目标器的TCP端口;默认是3260
3.指定哪些主机允许连接使用iSCSI,并创建启动器
Initiators
Add Initiator
Initiators
设置启动器名称,可以使用启动器的主机名,如果有多个用逗号隔开,通过使用关键字ALL表示任何启动器
Authorized network
设置授权的网络,意思是允许哪些网络来连接这个目标,通常是某一个子网:192.168.1.0/24,就这样设置
Comment
描述信息
每添加一个启动器,会自动划到一个组中,分配一个组ID,用于第5步创建目标器时与目标器关联绑定
e.g:添加两个启动器,自动分属两个组,第一个允许任何网络上的任何启动器来连接;第二组只允许10.10.1.0/24这个子网中的任何启动器来连接
4. 决定是否使用认证,如果使用,是CHAP还是相互CHAP。如果使用认证则创建一个授权访问
Authorized Accesses
Add Authorized Access
Group ID
组id,允许不同组配置不同认证配置文件
User
就是用户名,CHAP认证账户用户名,也可以直接使用启动器名
Secret
与账户关联的认证密码,12-16字符
Peer User
要做互相认证Mutual CHAP时才需设置,一般设置了跟上面的User一样
Peer Secret
设置了Peer User才需设置,这个必须与User的密码不一样!
5. 创建一个目标
Targets
Add Target
Target Name
目标名称,如果设置的名称不是以 iqn开头,则配置目标全局参数时的Base Name会被自动添加上去
Target Alias
目标别名,可以取得友好一点
Portal Group ID
可以设置为空或者选择之前设置网络端口Protals时所创建的那个,选择对应的ID
Initiator Group ID
设置哪个启动器与目标关联绑定,选择对应的组ID,这也就设置了允许哪个启动器来连接目标
Auth Method
选择认证方式
Authentication Group number
选择None或者已经存在Authorized Accesses中的一个,选择对应的组id
目标将网络端口、启动器和身份验证方法通过它们的组ID组合在一起做关联
6. 创建一个用作存储的存储单元(设备或文件)
Extents
Add Extent
Extent Name
名称
Extent Type
选择类型,是文件还是设备
Device
如果上一步选择的是设备就会出现该选项,可以选择物理磁盘,RAID控制器,zvol,zvol快照或HAST设备
Serial
唯一的LUN ID,默认由系统的MAC地址生成
Path to the extent
只有第二项选择的是文件才会出现需要配置
Extent size
同样是这对Extent Type是file的设置选项
Logical Block Size
当启动器需要不同块大小时才会覆盖默认值
Disable Physical Block Size Reporting
如果启动器端不需要大于4K的物理块就勾选这项
Available Space Threshold
针对Extent Type是file或者zvol的设置选项
Comment
描述信息
Enable TPC
如果勾选此项,启动器可以绕过正常的访问控制来访问任何可被扫描的目标,否则将被访问控制拦截
Xen initiator compat mode
如果使用Xen作为iSCSI启动器就勾选此项
LUN RPM
如果是windows作为启动器,不要更改此参数,只对于那些需要系统使用特殊的转数来获得精确统计报告的大型环境中才需要更改此参数
Read-only
通过勾选此项可以阻止启动器初始化该LUN
在iSCSI中,目标通过虚拟化给iSCSI客户端呈现的都是一个设备,这些用来虚拟化的可以是设备单元或者是一个文件单元。设备单元可以是一块未格式化的物理磁盘,RAID控制器,zvol,zvol快照或是已经存在的设备
7. 将目标与存储单元关联
Associated Targets
Add Target/Extent
Target
选择已经创建的目标器
LUN ID
最大支持1024
Extent
选择已经创建的Extent
8. 在“服务-控制服务”中启动iSCSI服务
注意:一个iSCSI目标器创建的块设备可以被多个启动器访问。如果要让多个启动器挂载这个块设备进行读写访问那么块设备上需要有一个集群文件系统。例如VMware ESX/ESXi使用的VMFS或者CIFS等。如果将EXT、XFS、FAT、NTFS、UFS或ZFS等传统文件系统(单机文件系统)放在块设备上则同一时间只能有一个启动器具有读/写访问,否则会使文件系统损坏(非集群文件系统不能动态刷新文件-块映射关系造成LBA地址块覆盖)。如果多个客户端需要访问一个非集群文件系统上的相同数据,就要使用SMB或NFS而不是iSCSI,或者创建多个iSCSI目标(每个客户端一个)