一、适用环境
1、企业自有物理专业服务器,一些敏感数据不外流时,使用openmediavault自建NAS系统;
2、在虚拟化环境中自建NAS系统,用于内网办公,或出差外网办公时,企业内的文件共享;
3、虚拟化环境中有可用磁盘资源,用于动态给NAS系统扩容;
4、在RAID 5的基础上实现原数据资源无损扩容,坏1个物理硬盘直接更换恢复数据;
5、避开445端口的直接开启,避免了勒索病毒向内网服务器的攻击。
二、初始环境
1、vmware esxi 6.7环境下的vm server 虚拟硬件情况,如下图:
2、采用的openmediavault做Nas存储系统是Debian linux
链接:https://pan.baidu.com/s/11YohlAirDOHuzYqb6MBccQ
提取码:1ne7
3、启动openmediavault系统后的界面,如下图:
4、当前只有一个磁盘,用于存储的openmediavault启动系统,如下图:
5、把vm server关机后,添加4个2TB的虚拟硬盘,用来存储初始部署数据,如下图:
6、从浏览器打开服务器端的管理地址http://192.168.0.54
用户名和密码初始为admin openmediavault
登录后,可看到存储器中的磁盘一项,列表中出现报新添加的4个2TB磁盘,如下图:
7、组建raid5卷,如下图:
Raid卷:
(1)条带:即RAID 0,性能高不安全,容量为总和,是组建磁盘阵列中最简单的一种形式,只需要2块以上的硬盘即可。 RAID 0 是 RAID 磁盘阵列中性能最好的硬盘组合方式,但没有提供冗余或错误修复能力。按照一定规则,将文件拆分存储在 RAID 0 中,一旦一块硬盘损坏,整个 RAID 0 的所有数据全部丢失。
(2)镜像:RAID 1(镜像)安全高性能差,容量减半。由至少 2 块硬盘组成。原理是把一个磁盘的数据镜像到另一个磁盘上,也就是说数据在写入一块磁盘的同时,会在另一块闲置的磁盘上生成镜像文件。只要系统中任何一对镜像盘中至少有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。它是 RAID 磁盘阵列中性能最差,数据安全性最佳的,会损失一半硬盘容量。
(3)线性:JBOD(线性)JBOD 不是标准的 RAID 级别,它只是在近几年才被一些厂家提出,并被广泛采用。虽然 JBOD 让多个磁盘看来似乎只有一个,但它是通过把多个驱动器合并成一个大的逻辑磁盘来做到这一点的。JBOD 使用独立的磁盘并没有带来任何好处,理论上:任意一块硬盘损坏,整个 JBOD 都无法使用。未损坏的硬盘上的数据不会丢失,但恢复数据存在门槛。
(4)Raid10:综合了raid0和raid1的特性。需要至少 4 块硬盘组成,每 2 块硬盘组成一个 RAID 1 ,2 个 RAID 1 组成一个 RAID 0 。性能与安全性在 RAID 0 和 RAID 1 中取得了一个平衡。性能:比 RAID 0 差,比 RAID 1 高。安全:同于 RAID 1 。会损失一半硬盘容量。
(5)Raid5 RAID 5 被称为 “分布式奇偶校验的独立磁盘结构” ,需最低 3 块硬盘组成。
每在 RAID 5 中存入一个文件,3 块硬盘中:1 块用于存储该文件;2 块用于生成奇偶校验信息。只要 RAID 5 中只有 1 块硬盘损坏,就可以替换该硬盘并恢复数据。会损失 1 块硬盘容量。
(6)Raid6是对 RAID 5 的扩展,需最低 4 块硬盘组成。每在 RAID 6 中存入一个文件,4 块硬盘中:2 块用于存储该文件;2 块用于生成奇偶校验信息。只要 RAID 6 中有任意 2 块硬盘损坏,就可以替换这 2 块硬盘并恢复数据。会损失 2 块硬盘容量。
8、勾选3个2TB磁盘,保存,如下图:
9、根据raid5的特性,3个2TB的磁盘组合生成一个4TB容量的卷,点右上角的勾,使应用生效。
(1)创建RAID5阵列,如下图:
从红框中的提示可以看出,完成这过程需要303分钟,等待阵列创建完成
(2)查看当前RAID5的状态,如下图:
(3)可以看出当前的状态clean正常,resyncing重新同步中,61%完成(大概已用时3小时),如下图:
(4)raid阵列的4种状态:
Resyncing:重新同步,创建阵列时同步的状态
Clean:阵列正常的状态
Reshaping:重塑阵列,恢复数据时的状态
Degraded:退化,删除阵列中某一磁盘时的状态
10、建立RAID5的时间较长,使用top命令查看硬件工作状态时,CPU的使用率为100%,
(1)使用top命令查看各进程运行状态,如下图:
(2)所以关机调整了vCPU的数量,从2vcpu调整为4vcpu,然后启动openmediavault后看到RAID5的状态为clean,resyncing(PENDING)——》正常,重新同步(待定),如下图:
11、选中RAID5阵列后,单点恢复,选中未添加进入阵列的2TB,保存后,恢复创建RAID5的进程,从pending待定状态恢复到resyncing状态,如下图:
(1)pending的待定状态,如下图:
(2)可以看出,设备已经增加了/dev/sde,恢复到resyncing重新构建的状态,如下图:
在系统看来,相当于我们重新添加了一块磁盘加入到还未新建好的raid5阵列中。
(3)再看RAID5卷的详细信息,如下图:
(4)把2个vcpu调整为4个vcpu后,此时再看CPU及进程的状态如下图:
(5)从vmware ESXI的平台上查看本虚拟机的CPU使用状况,如下图:
(6)创建好RAID5阵列之后,(其中有一个2TB是扩容用的,容量未计在内)如下图:
12、创建文件系统
(1)ext2
ext2是Linux操作系统最早的文件系统之一,它采用了基于磁盘组织的方式对文件进行存储,支持文件和目录的权限控制,但不支持日志功能。由于没有日志功能,如果系统崩溃或掉电,可能会导致文件系统损坏。
(2)ext3
ext3是在ext2的基础上添加了日志功能的文件系统,它可以记录文件系统的操作和状态,使得在系统崩溃或掉电时可以更快速地恢复文件系统的一致性。ext3支持较大的文件和分区,但在大文件和高并发读写的情况下,性能可能会受到一定的影响。
(3)ext4
ext4是在ext3的基础上进行改进的文件系统,它支持更大的文件和分区,提高了文件系统的性能和可靠性。ext4还支持更快速的文件系统检查和修复,同时也支持更高级的数据完整性保护机制。
(4)XFS
XFS是一种高性能、可伸缩的日志文件系统,它支持大文件和高并发读写,适用于大型服务器和高性能计算环境。XFS的日志机制更为健壮,代码结构也更为简洁,因此在高负载、高并发的情况下性能表现更为出色。
(5)Btrfs
Btrfs是一种新型的文件系统,它支持快照、压缩、数据镜像和数据校验等高级特性,适用于数据存储和备份。Btrfs还支持动态扩展和收缩文件系统大小,可以动态添加或删除磁盘,使得系统更为灵活和可靠。
总体来说,不同的文件系统适合不同的场景,需要根据实际需求进行选择。如果需要高性能、高并发的读写操作,可以考虑选择XFS;如果需要高可靠性、高数据完整性保护的文件系统,可以考虑选择ext4;如果需要数据存储和备份,可以考虑选择Btrfs。
(6)F2FS
F2FS (Flash Friendly File System) 是专门为基于 NAND 的存储设备设计的新型开源 flash 文件系统。特别针对NAND 闪存存储介质做了友好设计。F2FS 于2012年12月进入Linux 3.8 内核。F2FS仅支持Linux操作系统。
(7)JFS
( JOURNAL FILE SYSTEM),一种字节级日志文件系统,借鉴了数据库保护系统的技术,以日志的形式记录文件的变化。JFS通过记录文件结构而不是数据本身的变化来保证数据的完整性。这种方式可以确保在任何时刻都能维护数据的可访问性。该文件系统主要是为满足服务器(从单处理器系统到高级多处理器和群集系统)的高吞吐量和可靠性需求而设计、开发的。JFS文件系统是为面向事务的高性能系统而开发的。在IBM的AIX系统上,JFS已经过较长时间的测试,结果表明它是可靠、快速和容易使用的。 JFS也是一个有大量用户安装使用的企业级文件系统,具有可伸缩性和健壮性。与非日志文件系统相比,它的突出优点是快速重启能力,JFS能够在几秒或几分钟内就把文件系统恢复到一致状态。
13、这里我们选BTRFS文件系统(根据具体环境的需求选择),如下图:
14、保存后,应用更改,生成一个4TB的BTRFS文件系统
(1)选择文件系统与磁盘,如下图:
(2)创建文件系统完成,选择挂载告警阈值,默认85%,如下图:
15、右上角的勾,使应用生效
(1)选中confirm,是,如下图:
(2)应用生效后,如下图所示:
16、新建一个共享
(1)左侧选“共享文件夹”,再点+号,如下图:
(2)指定共享名称、文件系统、共享路径、配置权限,保存,生成新共享share,右上角勾,confirm,是,使设置生效,如下图:
17、配置共享服务
(1)服务、SMB/CIFS、设置,勾选已启动,滚动条拖到右下方,保存,如下图:
(2)右上角勾,confirm,是,使设置生效,如下图:
(3)服务、SMB/CIFS、共享,+号创建,如下图:
(4)选择共享所在挂载,如下图:
(5)右上角勾,confirm,是,如下图:
18、新建用户,用于登录共享的服务器文件夹
(1)用户,用户,+号,如下图:
(2)指定用户名user,密码123456,用户所在组users,保存,如下图:
(3)可以从列表中看到新建好的用户,如下图:
(4)回到存储器、文件系统,可以看到已经挂载和引用的磁盘(最初创建好文件系统时,只有挂载,无引用的勾,现在挂载和引用都打勾了,且是online在线状态),如下图:
三、内网访问测试:
1、打开一个文件夹,在地址栏输入,\192.168.0.54如下图:
(2)输入之前配置好的共享用户名和密码user 123456后,确定,可以看到之前共享的文件夹了,share,如下图:
2、写入和读取测试
(1)写入正常,如下图:
(2)读取正常,如下图:
3、测试后在share共享文件夹下看到的内容如下:
四、外网访问测试:
(一)防火墙做端口映射
1、配置命令,将公网ip地址的8145端口映射到内网服务器192.168.0.54的445端口,命令如下(本例采用的是华为USG6630设备) :
nat server openmediavault445 protocol tcp global 公网IP地址x.x.x.x 8145 inside 192.168.0.54 445 no-reverse unr-route
2、查看映射结果,并测试连通性
(1)查看防火墙上的openmediavault服务器映射连通性,如下图:
(2)使用telnet 192.168.0.45 445命令,测试与内网服务器的连通性:
有光标闪烁,说明内网服务器上的445端口是开启的状态。
(二)防火墙配置安全策略, 使trust与dmz、untrust与dmz之间可互访
1、配置内网trust与DMZ区域服务器互通
ip address-set neiwang type object
address 0 192.168.0.0 mask 16
ip address-set server type object
address 1 192.168.0.0 mask 24
security-policy
rule name trustdmz
source-zone trust
destination-zone dmz
source-address address-set neiwang
action permit
rule name dmztrust
source-zone dmz
destination-zone trust
source-address address-set server
action permit
2、配置外网untrust与DMZ区域互通
security-policy
rule name untrustdmz
source-zone untrust
destination-zone dmz
destination-address address-set server
action permit
rule name dmzuntrust
source-zone dmz
destination-zone untrust
source-address address-set server
action permit
(三)防火墙上配置策略路由的情况下,内部使用外网地址访问服务器
1、策略路由:某些网段需要用专线访问外网(政务教育专网),某些网段可用拨号光纤访问外网(手机WIFI、电视、娱乐流量等)。
ip address-set 办公2 type object
address 0 192.168.175.0 mask 24
address 1 192.168.174.0 mask 24
address 2 192.168.29.0 mask 24
address 3 192.168.173.0 mask 24
address 4 192.168.162.0 mask 24
address 6 192.168.82.0 mask 24
address 10 192.168.83.0 mask 24
ip address-set jiaoxue type object
address 0 192.168.66.0 mask 24
address 1 192.168.67.0 mask 24
address 2 192.168.68.0 mask 24
address 3 192.168.69.0 mask 24
address 4 192.168.70.0 mask 24
address 5 192.168.71.0 mask 24
address 6 192.168.34.0 mask 24
address 7 192.168.35.0 mask 24
address 8 192.168.36.0 mask 24
address 9 192.168.72.0 mask 24
address 10 192.168.73.0 mask 24
address 11 192.168.102.0 mask 24
address 12 192.168.122.0 mask 24
address 13 192.168.115.0 mask 24
address 14 192.168.46.0 mask 24
address 15 192.168.47.0 mask 24
address 16 192.168.48.0 mask 24
address 17 192.168.49.0 mask 24
address 18 192.168.103.0 mask 24
ip address-set 商贸实训1 type object
description 6楼605-608
address 0 192.168.50.0 mask 24
address 1 192.168.51.0 mask 24
address 2 192.168.52.0 mask 24
address 3 192.168.53.0 mask 24
address 4 192.168.75.0 mask 24
address 5 192.168.54.0 mask 24
address 13 192.168.74.0 mask 24
ip address-set 商贸实训2 type object
address 0 192.168.76.0 mask 24
address 1 192.168.77.0 mask 24
address 2 192.168.155.0 mask 24
address 3 192.168.78.0 mask 24
address 4 192.168.79.0 mask 24
address 5 192.168.84.0 mask 24
address 6 192.168.81.0 mask 24
address 8 192.168.55.0 mask 24
address 9 192.168.56.0 mask 24
address 10 192.168.57.0 mask 24
policy-based-route
rule name 办公2
source-zone trust
source-address address-set 办公2
track ip-link test_200Mip121
action pbr egress-interface multi-interface
mode proportion-of-weight
add interface GigabitEthernet1/0/5 weight 3
add interface GigabitEthernet1/0/11
rule name 整班教学
source-zone trust
source-address address-set jiaoxue
action pbr egress-interface multi-interface
mode proportion-of-weight
add interface GigabitEthernet1/0/1
add interface GigabitEthernet1/0/2
add interface GigabitEthernet1/0/4
add interface GigabitEthernet1/0/6
rule name 商贸实训1
description 电商6-7楼121
source-zone trust
source-address address-set 商贸实训1
track ip-link test_200Mip121
action pbr egress-interface multi-interface
mode proportion-of-weight
add interface GigabitEthernet1/0/7 weight 2
add interface GigabitEthernet1/0/10
add interface GigabitEthernet1/0/5
rule name 商贸实训2
description 计算机2楼5楼183
source-zone trust
source-address address-set 商贸实训2
track ip-link test_100Mip183
action pbr egress-interface multi-interface
mode proportion-of-weight
add interface GigabitEthernet1/0/10
add interface GigabitEthernet1/0/7 weight 2
2、策略路由:指定所有内网段通过外网静态ip地址访问内网的服务器时,不做安全策略,并配置防火墙的回复数据包路径
ip address-set 179 type object
address 0 x.x.x.179 mask 32
ip address-set 133 type object
address 0 192.168.0.0 mask 24
address 1 192.168.128.0 mask 24
address 2 192.168.82.0 mask 24
address 3 192.168.129.0 mask 24
policy-based-route
rule name server-user
description 内网服务器通过外网回包到内网
source-zone trust
source-address address-set 179
source-address address-set 133
destination-address address-set 全部内网段
action no-pbr
rule name neiwang-server
description 内网通过外网访问内部服务器
source-zone trust
source-address address-set 全部内网段
destination-address address-set 179
destination-address address-set 133
action no-pbr
(四)外网访问服务器ip地址和端口的转换配置
1、批处理文件内容 :
@echo off
:menu
echo 菜单
echo 1.设置电脑远程访问
echo 2.恢复默认配置
echo 3.重启电脑
echo ============================
echo 请输入要执行的编号[1-3]:
set /p option=
if “%option%”“1” goto cmd1
if “%option%”“2” goto cmd2
if “%option%”==“3” goto cmd3
:cmd1
sc stop LanmanServer
net stop LanmanServer
sc config LanmanServer start=disabled
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=445 connectaddress=“x.x.x.x” connectport=“8145”
goto menu
:cmd2
netsh interface portproxy reset
echo 端口转发清除完成
sc start LanmanServer
net start LanmanServer
sc config LanmanServer start=auto
netsh interface portproxy reset
goto menu
:cmd3
shutdown /r /t 0
注意:批处理中的x.x.x.x改为你映射的外网ip地址
2、在内网使用外网地址访问内部服务器时,或在外网访问服务器资源时,执行步骤如下:
(1)以管理员身份执行批处理test2.bat
(2)选1,设置本电脑远程访问,再选3重启电脑
(3)打开文件夹,在地址栏输入\127.0.0.1,回车,如下图:
(4)输入用户名和密码user 123456,如下图:
(3)可以看到与局域网内打开的内容相同,但是访问地址不同,如下图:
(4)此时通过命令查看已经有的共享映射时,可以看到有2条,\192.168.0.54是内网访问形成的映射,\127.0.0.1的访问是由批处理完成的外网端口映射。
五、共享服务器中的文件打开测试(word、excel、pptx、视频、音频、图片、PDF文档)
1、word文档能直接在服务器共享的文件夹中打开,如下图:
2、excel电子表格能直接在服务器共享的文件夹中打开,如下图:
3、pptx演示文稿能直接在服务器共享的文件夹中打开,如下图:
4、mp4视频文件能直接在服务器共享的文件夹中打开,如下图:
5、mp3音频文件能直接在服务器共享的文件夹中打开,如下图:
6、JPG图片文件能直接在服务器共享的文件夹中打开,如下图:
7、PDF文档能直接在服务器共享的文件夹中打开,如下图:
由此可见,常用的文件类型都可以直接从服务器的共享中打开,并完成编辑。方便了内网共享文件与外网出差办公。
六、RAID卷与文件系统扩容
(一)RAID卷扩容
1、关机后,物理资源弹性调整
关机的方式有:
(1)通过WEB浏览器的管理端,使用关机命令,如下图:
(2)在openmediavault的命令窗口端,使用poweroff命令,均可完成关机,如下图:
2、vm server调整物理资源,给虚拟机添加新磁盘2TB,保存
3、增加磁盘完成后,开机进入到openmediavault系统
(二)从浏览器进入到openmediavault的后台管理平台,实施存储器扩容
1、登录到openmediavault
2、登录后,可以看到有4个2TB的磁盘,其中/dev/sde是最近调整物理资源后,扩容的磁盘
3、在扩容前,RAID管理中,RAID5后的总容量是4TB,由3个2TB的磁盘组合而成,如下图:
4、实施扩容
(1)存储器,RAID管理,选中原RAID5,点扩充
(2)点设备*,把扩容后的2TB选中,保存
(3)此时注意有4个磁盘,状态有了变化,clean正常的旁边多了reshaping重塑RAID5
(4)可以看到已经出现有4个磁盘,已完成9%(1.5小时左右),状态clean正常,重塑RAID5卷进行中,如下图:
(5)在扩容的过程中,访问服务器的共享正常,说明扩容过程原数据不受影响,如下图:
(6)约14.5小时后,查看RAID卷的详细信息完成重塑91%,继续等待完成到100%。右上角点勾,confirm,是,使配置生效,如下图:
(7)当RAID5动态扩容成功后,可看到4个2TB的磁盘,组成的6TB容量RAID5,如下图:
(8)查看RAID的详细信息,如下图:
(9)当RAID5卷从4TB扩容到6TB后,此时访问\192.168.0.54时,数据还在,说明成功完成了存储的无损扩容。
(三)文件系统扩容:
1、查看RAID与文件系统:
(1)在openmediavault中RAID5扩容到6TB后,此时查看文件系统仍为4TB,如下图:
(2)在debian linux的终端下,df –h查看,/dev/md0也仍为4.0TB
(3)使用umount命令取消对/dev/md0的挂载,如下图:
(4)提示目标正忙,如下图:
解决目标正忙的问题:
(1)取消SMB/CIFS的服务启动,如下图:
(2)取消workgroup启动
(3)删除存储器中的共享
(4)此时查看引用已经没有了,如下图:
(5)再使用umount /dev/md0,取消挂载后,正常,如下图:
(6)卸载原挂载的4TB文件系统btrfs,如下图:
(7)重新挂载动态扩容好的6TB的RAID5
(8)选中/dev/md0/[BTRFS 5.99TB],保存,如下图:
(9)确认挂载文件系统,如下图:
(10)点右上角的勾,confirm,是,确认挂载生效
(11)此时仍只显示有4TB挂载,(扩充不可用)如下图:
2、文件系统扩容:
(1)使用命令给文件系统扩容2000GB
Btrfs filesystem resize +2000G /srv/dev-disk-by-uuid-6852ec19-010e-495b-9abc-e8a44972186c/
(2)使用命令查看文件系统扩容后的效果,可以看出从4TB扩容到了5.95TB
Btrfs filesystem show
(3)回到openmediavault中查看文件系统时,很明显btrfs文件系统也已经扩容到了5.95TB
(4)继续扩容至6TB
当再添加48GB到挂载点/srv/dev-disk-by-uuid-6852ec19-010e-495b-9abc-e8a44972186c/时,提示没有足够的可用空间,减1GB,添加47GB扩容成功,如下图:
(6)再到openmediavault中查看文件系统时,很明显btrfs文件系统也已经扩容到了6TB
3、给出一些常用的btrfs文件系统操作命令,以供参考:
btrfs filesystem show #显示详细信息
btrfs filesystem df <挂载点> #已挂载分区使用状况
btrfs filesystem resize [+?G|max] <挂载点> #增减容量
btrfs filesystem defragment #碎片整理
btrfs device add <需要添加的设备> <挂载点>
btrfs device delete <需要添加的设备> <挂载点>
btrfs balance start <挂载点> #开始
-mconvert=raid[0,1,5,10] BTRFS_LABEL metadata
-dconvert=raid[0,1,5,10] BTRFS_LABEL data
#convert之类的选项,可以通过man文档中的filter字段查到
btrfs balance pause #暂停
btrfs balance status #状态
btrfs volume create 主卷下的挂载点
btrfs volume delete 主卷下的挂载点
btrfs subvolume list /media/btrfs/ 列出指定btrfs下的子卷及其id
btrfs-convert EXT4_DEVICEext4转换成btrfs
btrfs-convert -r BTRFS_DEVICE此前为ext4的btrfs转换回ext4
七、动态无损存储扩容后的访问验证:
(一)通过局域网访问存储系统\192.168.0.54,原数据正常可访问
(二)通过公网访问存储系统\127.0.0.1(已由批处理文件完成了公网ip地址与端口的转换过程),原数据正常可访问
1、以管理员身份运行批处理test2.bat,选择1,设置本电脑可远程访问服务器,如下图:
2、从命令菜单中选1,设置电脑远程访问,如下图:
3、再选3重启电脑
4、打开文件夹后,在地址栏输入\127.0.0.1通过外网访问服务器如下:
Openmediavault自建的NAS系统无损原数据动态扩容,成功完成。不足之处敬请批评指正。本文至此结束