AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-408254

sameera's questions

Martin Hope
sameera
Asked: 2019-12-09 20:33:08 +0800 CST

在 ubuntu 上使用树莓派 4 测试 bcache

  • 1

我正在用 ubuntu 在树莓派 4 上测试 bache。我选择 ubuntu 的原因是我发现标准 raspbian 遇到了一些 bcache 问题,因为内核模块没有正确加载。我试图解决一些问题,但后来我搬到了 ubuntu,它马上就可以工作了

我的设置是这样的。

1 x 1TB HGST 5400RPM 2.5 laptop hard disk
1 x 256GB WD Green 2.5 SSD
Raspberry pi 4 4GB model with large heat-sink for cooling and 4A power.

我使用 USB 3.0 端口将 HDD 和 SSD 连接到树莓派(均为外部供电)并启动到 ubuntu。首先我测试了欠压错误,发现一切正常。

SSD -> /dev/sda
HDD -> /dev/sdb

然后我在两个驱动器上创建 1 个分区并按如下方式创建 bcache。

make-bcache -B /dev/sdb1
make-bcache -C /dev/sda1

然后我将 /dev/bcache0 挂载到 /datastore

然后我按如下方式附加了缓存设备

echo MYUUID > /sys/block/bcache0/bcache/attach

然后我启用了回写缓存

echo writeback > /sys/block/bcache0/bcache/cache_mode

然后我安装了 vsftpd 服务器并将根 ftp 目录作为我的 bcache0 挂载点,然后我开始测试。前几个测试我可以上传文件 113MBps,我注意到大多数文件直接写入支持设备,即使附加了缓存。

当我使用 bcache-status 脚本https://gist.github.com/damoxc/6267899测试状态时,我看到大多数写入未命中缓存并直接写入支持设备,而 113MBps 直接来自机械硬盘驱动器:-O ?

然后我开始微调。正如此https://www.kernel.org/doc/Documentation/bcache.txt文档的故障排除性能部分所建议的那样

首先我通过执行这个命令将sequential_cutoff 设置为零

echo 0 > /sys/block/bcache0/bcache/sequential_cutoff

在此之后,我可以立即看到 SSD 设备缓存命中增加。与此同时,我不断地运行 iostat。我可以从 iostat 中看到 SSD 正在被直接访问。但几分钟后,我的 filezilla 客户端挂起,我无法重新启动 FTP 上传流。当我尝试访问 bcache0 挂载时,它真的很慢。缓存状态显示为“脏”

然后我重新启动 pi 并再次连接设备。并设置在下面

echo 0 > /sys/fs/bcache/MYUUID/congested_read_threshold_us
echo 0 > /sys/fs/bcache/MYUUID/congested_write_threshold_us

根据https://www.kernel.org/doc/Documentation/bcache.txt文章,这是为了避免 bcache 跟踪支持设备延迟。但即使在这个选项之后。我的 FTP 上传流不断崩溃。然后我将所有设置恢复为默认值。仍然有大量文件上传它崩溃

而且我注意到在测试 pi CPU 中没有充分利用。

我可以使用 pi 4 1Gbps 以太网获得的最大吞吐量为 930Mbps,这非常好。HGST 驱动器在我用 NTFS 的水晶磁盘标记进行测试时能够写入高达 90MBps。由于文件系统是 ext4,我似乎可以在 pi 上获得 113MBps。

如果我能获得超过 80MBps 的 ftp 上传速度,我可以接受。我的问题是

为什么 FTP 流在使用 bcache 时不断崩溃,以及为什么 bcache 挂载超时。

为什么即使将sequential_cutoff设置为0,缓存使用率也很低

有人用 Raspberry PI 4 测试过 bcache 吗?如果是,我怎样才能正确使用 SSD 进行缓存

最后,有人可以解释更多关于 bcache 在写回模式下的实际工作原理。我只将它用于存档数据,我不需要访问 SSD 类型的设置上的热数据。

ubuntu raspberry-pi
  • 1 个回答
  • 884 Views
Martin Hope
sameera
Asked: 2018-11-14 18:31:54 +0800 CST

发送 ICMP ping 时排除接口

  • 0

为了构建小型 Linux 应用程序,我需要检查系统的互联网连接。但是我的盒子有多个网络接口,带有用于备份互联网连接的接口。我需要根据主网络连接执行一些任务失去连接。

我曾经使用 -i 和 ping 命令来选择接口

ping -I eth0 x.x.x.x 

但是使用这种方法我必须提及我的应用程序中所有可用的接口。除了这样做还有什么办法可以做这样的事情

ping -I !bkp0 x.x.x.x 

基本上我需要检查除备份链接之外的所有链接的连接性

network-interface ping
  • 1 个回答
  • 58 Views
Martin Hope
sameera
Asked: 2018-04-24 01:21:22 +0800 CST

通过 Openvpn 隧道路由特定客户端

  • 1

我在我的 centos 盒子中运行了 openvpn 客户端,我将其用作内部网络的路由器。我有两个接口可以到达外面的世界。

eth0 - normal internet 
tun0 - openvpn tunnel 

我通过放置“route-noexec”选项禁用 opevpn 自动路由拉取,现在我手动处理所有路由。在我打开 openvpn 隧道后,我的路由表是这样的。

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.80.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.8.0.0        0.0.0.0         255.255.255.0   U     0      0        0 tun0
192.168.44.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 dummy0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
0.0.0.0         192.168.44.1    0.0.0.0         UG    0      0        0 eth0

现在我有一个内部主机,它连接到我的 centos 盒子上的接口 192.168.80.0

192.168.80.50

我需要通过接口 tun0 路由来自该用户的所有流量,并通过 eth0 路由所有其他流量

我尝试添加这样的 POSTROUTING 规则

iptables -t nat -A POSTROUTING -s 192.168.80.50 -o tun0 -j MASQUERADE
iptables -t nat -A POSTROUTING  -o eth0 -j MASQUERADE

但所有客户端都只通过 eth0,包括 192.168.80.50。我怎样才能做到这一点?

routing iptables
  • 3 个回答
  • 2925 Views
Martin Hope
sameera
Asked: 2018-04-16 23:17:03 +0800 CST

用于拦截来自特定 IP 的 DNS 流量并重定向到另一个 DNS 服务器的 Mangle 规则 - openwrt

  • 0

我的网络中有媒体框,它硬编码为使用特定的 DNS 服务器,如谷歌 DNS。但我想强制这个设备使用我自己的 DNS 服务器而不是硬编码的 DNS。我认为只有这样才能将来自该媒体盒 IP 的 DNS 请求破坏到 DNAT 到我的 DNS 服务器 IP。但我不太确定如何将规则同时提及源端口和源 ip

我使用 openwrt 路由器和 openwrt 15.0 混乱平静。

iptables -t nat -A PREROUTING -p tcp --sport 53 -j DNAT --to-destination 192.168.1.153

上面的查询将完成这项工作,但它会破坏所有端口 53 请求。如何使用 IP 地址指定此规则。还是有其他方法可以做到这一点?

iptables dns
  • 2 个回答
  • 2372 Views
Martin Hope
sameera
Asked: 2017-12-30 08:02:42 +0800 CST

使用 iptables 动态地将流量转发到基于源 IP 地址的虚拟接口

  • 2

我正在试验基于源 IP 地址回复不同结果的 DNS 服务器设置。同时我需要动态更改外部源ip应该转发的接口,

eth0    physical inteface   192.168.1.10
eth0:   virtual interface 1   192.168.1.11
eth0:1  virtual interface 2   192.168.1.12

我在我的服务器上安装了 bind9,配置了两个视图,分别监听 192.168.1.11 和 12。

在我的设置中,只有面向外部的接口是 eth0,所有客户端都通过它请求 DNS。我需要根据我的客户端源 IP 地址将这些请求转发到我的虚拟接口并动态更改它。

举个例子

对于场景 1,如果用户 192.168.1.40 通过 eth0 查询 DNS,我需要他转发 eth0: (192.168.1.11)

对于场景 2 相同的用户 (192.168.1.40) 我需要转发到 eth0:1 (192.168.1.1)

我想通过在两个不同的时间使用同一个 dns 服务器来实现外部用户可以得到不同的结果。

iptables bind
  • 1 个回答
  • 1555 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve