[Ubuntu]使用open-iscsi发起iscsi连接Target

名下有多台VPS服务器放在不同的云供应商那里,定期备份服务器数据成了很棘手的问题。 习惯上会使用挂载nfs方式,使用s3fs-fuse先将S3的Bucket挂载到本机分区,然后向该分区写入需要备份的文件, 但是近期S3的接入稳定性确实很差,即使是AWS的老家美国,使用s3fs-fuse挂载的分区,也不能有比较稳定的读写。 碰到大量文件和持续读写的情况,效果非常不理想 近期发现使用 AWS Storage Gateway可以直接让虚拟机连接到iscsi的target,然后操作相应的LUN和卷。iscsi协议因为使用了比HTTP/S更低的TCP/IP协议,相对s3fs方式可以更稳定。 另外 AWS Storage Gateway的传入流量是免费的,只收取存储到S3,EBS的的存储费用。 服务器版本:Ubuntu18.04 LTS 设备目标:/dev/sdc 一、安装和配置iscsi发起端程序 1.安装open-scsi和utils #安装open-scsi和utils sudo apt-get install open-iscsi open-iscsi-utils 2.发现iscsi target #发现iscsi target sudo iscsiadm -m discovery -t sendtargets -p XXX.XXX.XXX.XXX:3260 3.登陆target #登陆target sudo iscsiadm -m node –targetname iqn.1997-05.com.amazon.XXXXXX -p XXX.XXX.XXX.XXX:3260 –login 二、挂载硬盘 1.发现并分区格式化磁盘 fdisk -l 2.分区格式化LUN fdisk /dev/sdc mkfs.ext4 /dev/sdc1 …

[Powershell]查找文件系统中的长文件名文件

查找文件系统中的长文件名文件 向OOS等对象存储转移数据的时候,因为文件系统兼容性的问题,最好处理掉那些文件名长度大于255的文件,以免出现转移失败的情况 Windows下可以使用Powershell的Get-ChildItem命令方式 Get-ChildItem -r * # 获取文件夹下所有对象 {$_.GetType().Name -match”File” } #获取文件类型的名称 {$_.fullname.length -ge 256} # 文件名长度大于等于256的文件 %{$_.fullname} #打印文件名 Get-ChildItem -r * |? {$_.GetType().Name -match”File” } |? {$_.fullname.length -ge 256} |%{$_.fullname} linux直接利用 length属性即可 find. -type f | awk ‘length> 255’> longfilename-list.txt 附各文件系统的最大文件名长度 文件系统 最大文件名长度 最大文件大小 最大分区大小 ext2 255 bytes 2 TB 16 TB ext3 255 …

[BATCH]批处理中enabledelayedexpansion启动变量延迟

一个简单的需求,批量定义变量并运算赋值,再对获取变量计算的结果值 方法: 1.使用SET /A 方式暂存表达式的中间计算结果 2.使用setlocal enabledelayedexpansion 避免解释器在循环体中实时展开变量 3.使用&合并表达式为1行 启用setlocal enabledelayedexpansion。启动变量延迟 @echo on set var4=”test” for /l %%i in (1,1,3) do set var%%i=%%i echo %var1% echo %var2% echo %var3% echo %var4% setlocal enabledelayedexpansion for /l %%j in (1,1,3) do ( set /a t= var%%j & echo !t! ) for /l %%j in (1,1,3) do ( …