rsync 增量备份

可以只同步变化的文件(对比文件的修改时间)!增量同步!

使用:

 rsync -rvlt   path1    目标文件用户名B@主机名2:path2
-r: 递归,复制目录
-v: 显示复制的过程
-l:  同步软连接
-t:  基于文件的修改时间进行对比,只同步修改时间不同的文件

一般而言,我们会选择使用rsync进行远程同步或拷贝。rsync和scp的区别在于:
-> rsync只对差异文件做更新,可以做增量或全量备份;而scp只能做全量备份。简单说就是rsync只传修改了的部分,如果改动较小就不需要全部重传,所以rsync备份速度较快;默认情况下,rsync 通过比较文件的最后修改时间(mtime)和文件的大小(size)来确认哪些文件需要被同步过去。
-> rsync是分块校验+传输,scp是整个文件传输。rsync比scp有优势的地方在于单个大文件的一小部分存在改动时,只需传输改动部分,无需重新传输整个文件。如果传输一个新的文件,理论上rsync没有优势;
-> rsync不是加密传输,而scp是加密传输,使用时可以按需选择。

SCP 拷贝命令常用参数

-B  使用批处理模式(传输过程中不询问传输口令或短语) 

-C  允许压缩。(将-C标志传递给ssh,从而打开压缩功能) 

-p  保留原文件的修改时间,访问时间和访问权限。 

-q  不显示传输进度条。 

-r  递归复制整个目录。 

-v 详细方式显示输出。scpssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。  

-c cipher  以cipher将数据传输进行加密,这个选项将直接传递给ssh。  

-F ssh_config  指定一个替代的ssh配置文件,此参数直接传递给ssh。 

-i identity_file  从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。   

-l limit  限定用户所能使用的带宽,以Kbit/s为单位。    

-o ssh_option  如果习惯于使用ssh_config(5)中的参数传递方式,  

-P port  注意是大写的P, port是指定数据传输用到的端口号  

-S program  指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

rsync 命令常用参数

-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD

-v, --verbose 详细模式输出

-p, --perms 保持文件权限

-g, --group 保持文件属组信息

-o, --owner 保持文件属主信息

-r, --recursive 对子目录以递归模式处理。同步目录的时候要加上这个参数

-l, --links 保留软链结,加上这个参数,同步过来的文件会保持之前的软链接属性不变

-H, --hard-links 保留硬链结

-e, --rsh=COMMAND 指定使用rsh、ssh方式进行数据同步

-z, --compress 对备份的文件在传输时进行压缩处理

--stats 给出某些文件的传输状态

--progress 打印同步的过程

--timeout=TIME 同步过程中,IP超时时间,单位为秒

--delete 删除那些目标目录中有而源目录中没有的多余文件。这个是rsync做增量方式的全备份的最佳选择方案!!!!!!

--delete-before 接受者在输出之前进行删除操作。即先将目标目录中文件全部删除,再将源目录文件拷贝过去。这是rsync保持目标目录跟源目录一致的方案!!!

--delete-after 在同步操作之后做比较,删除那些目标目录中有而源目录中没有的多余文件

--delete-excluded 删除目标目录中那些被该选项指定排除的文件

--ignore-errors 即使出现IO错误也进行删除,忽略错误

--exclude 指定同步时需要过滤掉的文件或子目录(即不需要同步过去的),后面直接跟不需要同步的单个文件名或子目录(不需要跟路径) ,过滤多个文件或子目录,就使用多个--exclude

--exclude-from 指定同步时需要过滤掉的文件或子目录,后面跟文件(比如/root/exclue.txt),然后将不需要同步的文件和子目录放到/root/exclue.txt下。

--version 打印版本信息

--port=PORT 指定其他的rsync服务端口

--log-format=formAT 指定日志文件格式

--password-file=FILE 从FILE中得到密码

--bwlimit=KBPS 限制I/O带宽,KBytes per second

PVE pool pg计算

计算PG Count的公式

1PoolPGCount=(TargetPGsPerOSD ∗ OSDNumber ∗ DataPercent) / PoolReplicateSize

参数

参数名称参数释义备注
PoolPGCount该pool的PG数量 
TargetPGsPerOSD每个OSD的PG数量该值根据如下规则来进行设置:
1. 如果未来集群的OSD数量基本不再增长,Target PGs per OSD =100 
2. 如果未来集群的OSD数量可能增长到目前规模的2倍以内,Target PGs per OSD =200
3. 如果未来集群的OSD数量增长规模大于当前2倍且小于3倍,Target PGs per OSD =300
OSDNumberOSD数目默认是所有的OSD, 具体看OSD所属的rule
一般会通过CRUSH rules划分SSD和SATA两个ruleset,此时单独填写pool所在的对应rule的OSD数量
DataPercent该pool占用所在OSD集群容量百分比需要预估
PoolReplicateSize该pool的副本数replicate size,默认是3
如果是EC pool,该值为 m+n

结果取值

1、如果上述计算结果小于 OSDNumber/PoolReplicateSize ,那就使用值 OSDNumber/PoolReplicateSize 。这是为了确保每个Pool的每个OSD至少分配一个Primary或Secondary PG来确保均匀加载/数据。

2、计算的最终结果应该是与计算结果相邻的2的幂次方。

采用2的幂次方是因为了提高CRUSH算法的效率

3、如果结果超过较小2次幂数值的25%则选择较大的2次幂作为最终结果,反之则选择较小的那个2次幂数值。

目的

1、计算公式的目的是为了确保整个集群拥有足够多的PG从而实现数据均匀分布在各个OSD上,同时能够有效避免在Recovery 和Backfill 的时候因为PG/OSD比值过高所造成的问题。

2、如果集群中存在空pool或者其他non-active的pool,这些pool并不影响现有集群的数据分布,但是这些pool仍然会消耗集群的内存和CPU资源。

Windows 共享文件夹权限验证

在 Windows 中,共享权限和 NTFS 权限共同决定了用户对文件夹或文件的访问权限。当用户尝试访问某个共享文件夹时,系统首先检查共享权限,然后再检查 NTFS 权限。最终的权限由两者中最严格的权限决定。这意味着如果共享权限不允许某项操作,即使 NTFS 权限允许,用户也无法执行该操作。

举个例子来说明这一点:

  1. 文件夹 A 设置了共享权限,允许用户 User1 只读访问。
  2. 文件夹 A 的 NTFS 权限赋予了用户 User1 写入权限。

在这个场景下,尽管 NTFS 权限允许 User1 进行写入操作,但由于共享权限仅授予了只读权限,User1 在通过网络访问文件夹 A 时只能读取,无法写入。这是因为共享权限限制了 User1 的网络访问能力。

换句话说,如果共享权限和 NTFS 权限存在冲突,最终的权限将遵循较严格的那一项。在这个例子中,共享权限比 NTFS 权限严格,所以 User1 最终的权限是只读。

总结一下,Windows 共享权限和 NTFS 权限的交集就是两者中最严格的权限。如果共享权限不允许某项操作,即使 NTFS 权限允许,用户也无法执行该操作。

要在 PowerShell 中查看共享文件夹的共享权限和 NTFS 权限,您可以使用以下命令:

查看共享权限

  1. 打开 PowerShell。
  2. 输入以下命令并替换 <folder_name> 为您想要查看的共享文件夹的名称:
Get-Acl "<folder_name>" | Format-List AccessToString

这将显示与该文件夹关联的所有共享权限。

查看 NTFS 权限

  1. 打开 PowerShell。
  2. 输入以下命令并替换 <folder_name> 为您想要查看的文件夹的名称:
Get-Acl "<folder_name>" | Select-Object -ExpandProperty Access

这将列出所有与该文件夹相关的 NTFS 权限。

如果您想更详细地查看特定用户的权限,可以使用以下命令:

Get-Acl "<folder_name>" | Select-Object -ExpandProperty Access | Where-Object {$_.IdentityReference -eq "username"} 

请将 username 替换为要查询的具体用户名。

https://petri.com/how-to-use-powershell-to-manage-folder-permissions

https://www.delftstack.com/zh/howto/powershell/managing-acl-permissions-using-powershell

https://cn.a-d.site/?p=3625

USG防火墙NAT映射不通常见故障

https://support.huawei.com/enterprise/zh/knowledge/EKB1000060744

问题描述

USG防火墙NAT映射不通故障汇总,本案情况均配置正常。

处理过程

用户有一台服务器,IP地址是192.168.1.100,公网地址是1.1.1.1。在防火墙上配置地址映射如下:

nat server  10 protocol tcp global  1.1.1.1 80 inside 192.168.1.100 80

故障一:防火墙上没有放行策略

现象:访问不通,在防火墙上查看不到会话。

查看会话命令为:

          display firewall session table verbose  destination inside 192.168.1.100
            Current Total Sessions : 0

解决办法:在域间放行到服务器的策略。

故障二:运营商封闭端口号

现象:访问不通,在防火墙上查看不到会话。

解决办法:找运营商协商。

故障三:服务器没有配置网关,或内网路由有问题。

现象:访问不通,在防火墙上看到会话有去无回。

查看会话为:

          display firewall session table verbose destination inside 192.168.1.100
          Current Total Sessions : 1
           telnet  VPN:public –> public
           Zone: untrust–> trust TTL: 00:00:00  Left: 00:00:10
          Output-interface: GigabitEthernet0/0/1    NextHop: 192.168.1.100  MAC: xx-xx-xx-xx
 <–packets:445 bytes:20841   –>packets:0 bytes:0
          x.x.x.x:56221–>1.1.1.1:80[192.168.1.100:80]

解决办法1:服务器配置网关或者解决路由问题。

解决办法2:如果确认路由无问题,而服务器因特殊原因不方便配置,可以在内网接口上起用nat功能,将外网地址转换成内网地址。

故障四:特殊应用访问不正常,例如,FTP服务器可以登录,但无法访问资源。

现象:特殊应用访问不正常,例如,FTP服务器可以登录,但无法访问资源。会话查看有时正常,且数据有去有回。

解决办法:域间开启nat alg功能。

命令如下:

                firewal interzone trunst untrust
                detect ftp

注:此外,PPTP、SIP等问题均可参考。

故障五:双链路环境下,源进源出问题导致访问不正常。

现象:客户将一台服务器同时映射到两个接口上,访问有时正常有时无法访问,出现问题时,查看会话有去无回。

解决办法:该问题为老版本没有源进源出功能,USG2000/5000防火墙需要升级到V300R001C00SPC700以后的版本解决。

建议与总结

针对地址映射不通,最有效的办法就是查看会话状态:

1、如果没有会话,就有可能是策略拒绝或者运营商封闭端口号。

2、如果数据有去无回,就是内网服务器或者路由的问题。

3、如果数据有无有回,但访问不正常,就有可能是特殊应用的问题。

移动通信技术经历了多次迭代,不断提升性能和服务质量。

第一代移动通信技术(1G):采用模拟信号传输,主要支持语音通话,传输速率较低,保密性差。

第二代移动通信技术(2G):以数字信号为基础,除语音通话外,还支持短信等简单的数据业务。GSM 是 2G 中广泛应用的标准。

第三代移动通信技术(3G):能够提供更高的数据传输速率,支持多媒体业务,如视频通话、移动互联网接入等。WCDMA、CDMA2000 和 TD-SCDMA 是 3G 的主要标准。

第四代移动通信技术(4G):基于 LTE 技术,数据传输速率大幅提升,提供高质量的移动宽带体验,支持高清视频流、在线游戏等高带宽需求的应用。

第五代移动通信技术(5G):具有高速率、低时延、大容量连接等特点。不仅能满足更高速的移动互联网需求,还能支持物联网、工业互联网、智能交通等众多新兴应用场景。

PVE ceph 服务

https://docs.ceph.com/en/latest/cephadm/services

使用 systemctl 管理ceph 服务

  1. MON Service (Monitor Service):
    • Monitors the health and status of the Ceph cluster.
  2. MGR Service (Manager Service):
    • Overview: Provides a management interface for the Ceph cluster.
  3. OSD Service (Object Storage Daemon):
    • Manages storage devices for storing and retrieving data as objects.
  4. RGW Service (RADOS Gateway Service – Object Gateway):
    • Offers a RESTful API gateway interface for Ceph’s object storage.
  5. MDS Service (Metadata Server):
    • Manages metadata for the Ceph File System (CephFS).
  6. NFS Service:
    • Provides Network File System (NFS) access to Ceph storage.
    • Utilizes the nfs-ganesha daemon.
  7. RBD Service (RADOS Block Device):
    • Manages block storage devices within the Ceph cluster.
    • Utilizes the rbd component and interacts with the rados and ceph-osd daemons.

管理ceph服务级别

In a Ceph cluster, services are organized and managed at different levels:

  • cluster
  • node
  • daemon

The command syntax to start, stop, or restart cluster service is;

ceph orch <start|stop|restart> <service_name>

List Ceph SystemD services running on a specific node;

sudo systemctl list-units "*ceph*"

Thus, the command syntax is;

ceph orch daemon <start|stop|restart> SERVICE_NAME

You can get the SERVICE_NAME from the ceph orch ps command.

ceph orch daemon restart grafana.ceph-admin

Check more on;

ceph orch daemon -h
Index