小编Huy*_*ens的帖子

如何找出网络接口丢弃数据包的原因?

在 Linux 上有没有办法获取有关数据包被丢弃的各种原因的统计信息?

在多个服务器上的所有网络接口 (openSUSE 12.3) 上,ifconfignetstat -i在接收时报告丢弃的数据包。当我执行 a 时tcpdump,丢弃的数据包数量停止增加,这意味着接口队列未满并丢弃数据。所以一定有其他原因导致这种情况发生(例如,接收到多播 pkts 而接口不是该多播组的一部分)。

我在哪里可以找到此类信息?(/proc?/sys?一些日志?)

统计示例(/sys/class/net/<dev>/statistics 和 ethtool 输出的合并):

alloc_rx_buff_failed: 0
collisions: 0
dropped_smbus: 0
multicast: 1644
rx_align_errors: 0
rx_broadcast: 23626
rx_bytes: 1897203
rx_compressed: 0
rx_crc_errors: 0
rx_csum_offload_errors: 0
rx_csum_offload_good: 0
rx_dropped: 4738
rx_errors: 0
rx_fifo_errors: 0
rx_flow_control_xoff: 0
rx_flow_control_xon: 0
rx_frame_errors: 0
rx_length_errors: 0
rx_long_byte_count: 1998731
rx_long_length_errors: 0
rx_missed_errors: 0
rx_multicast: 1644
rx_no_buffer_count: 0
rx_over_errors: 0
rx_packets: 25382
rx_short_length_errors: 0
rx_smbus: 0
tx_aborted_errors: 0
tx_abort_late_coll: …
Run Code Online (Sandbox Code Playgroud)

networking linux kernel

22
推荐指数
1
解决办法
12万
查看次数

我们应该在 ext3 上使用 data=writeback 和 barrier=0 挂载吗?

我们一直在托管公司的 VM 上运行服务器,并且刚刚注册了专用主机(AMD Opteron 3250,4 核,8GB RAM,软件 RAID 中的 2 x 1TB,ext3)。

在运行性能测试时,我们注意到一些 SQLite 转换(插入、删除和/或更新的组合)比我的 2010 MacBook Pro 花费的时间长 10 到 15 倍。

经过大量的谷歌搜索和阅读,我们开始查看挂载选项,它们是:

    data=ordered,barrier=1
Run Code Online (Sandbox Code Playgroud)

我们做了一些实验,并获得了最佳性能

    data=writeback,barrier=0
Run Code Online (Sandbox Code Playgroud)

我已经阅读了这些内容,并了解他们正在做的事情的基础知识,但我对我们这样跑步是否是个好主意没有很好的感觉/感觉?

问题

对于托管服务,上述配置是否明智?

如果我们遇到停电或严重崩溃,那么我们最终可能会丢失数据或文件损坏。如果我们每 15 分钟拍摄一次数据库快照,这可能会缓解这种情况,但拍摄快照时数据库可能不会同步。我们应该(可以?)如何确保这种快照的完整性?

我们应该考虑其他选择吗?

谢谢

ext3 mount centos performance-tuning write-barrier

14
推荐指数
2
解决办法
2万
查看次数

在 linux 上获取国际原子时的简单方法?

我的系统使用 UTC 作为系统时钟,我并不特别想改变它。有没有一种简单的方法可以获取当前的 TAI 时间?(最好是命令行工具或标志)

linux time utc tai

12
推荐指数
2
解决办法
4335
查看次数

如何将 Windows ACL 映射到 CIFS 共享上的 Linux ACL?

语境

我们有一个带有 Active Directory 域和网络共享的 Windows 服务器。

我有一台 Linux 机器,我想挂载共享。

sudo mount -t cifs //server/share /mnt/share -o user=[act-dir user],domain=[domain],uid=[linux user],gid=[linux group]
Run Code Online (Sandbox Code Playgroud)

或多或少是可以的。我的 Linux 用户被映射到共享上的所有文件,并且一些 ACL 被转换。但我想更进一步:

  • 超过一个用户连接到 Linux box
  • 每个 Linux 用户都有一个专用的 Active Directory 帐户
  • 我希望每个 Windows 所有者都映射到相应的 Linux 所有者(如果存在)

解决方案和问题

Samba 提供了cifsacl需要设置cifs.idmapwinbindd. 两者都已安装,我已经阅读了两个手册页并尝试配置它们,但它不起作用。新的挂载命令现在是:

sudo mount -t cifs //server/share /mnt/share -o user=[act-dir user],domain=[domain],cifsacl
Run Code Online (Sandbox Code Playgroud)

但是一切都映射到 root:root,这意味着无法执行 cifs.idmap。

实际上,我并不感到惊讶,因为我不知道在哪里写实际映射,所以我应该在哪里写 Windows userX 实际上映射到 Linux userY?而且我不确定 winbindd 配置是否正确,最小参数集应该是什么,smbd 和/或 nmbd 需要运行吗?我需要在防火墙中打开端口吗?

背景资料

股份结构

共享目录有几个子目录,一些公用的和一些“私有的”(尽管私有的实际上是每个人都可以读取的)。每个用户需要不时访问公共空间以及其他用户私有目录,但主要/通常是他们自己的目录。

技术数据

  • RHEL 6、桑巴 3.5.6 …

linux windows cifs access-control-list

5
推荐指数
2
解决办法
2万
查看次数