在 Linux 上有没有办法获取有关数据包被丢弃的各种原因的统计信息?
在多个服务器上的所有网络接口 (openSUSE 12.3) 上,ifconfig并netstat -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) 我们一直在托管公司的 VM 上运行服务器,并且刚刚注册了专用主机(AMD Opteron 3250,4 核,8GB RAM,软件 RAID 中的 2 x 1TB,ext3)。
在运行性能测试时,我们注意到一些 SQLite 转换(插入、删除和/或更新的组合)比我的 2010 MacBook Pro 花费的时间长 10 到 15 倍。
经过大量的谷歌搜索和阅读,我们开始查看挂载选项,它们是:
data=ordered,barrier=1Run Code Online (Sandbox Code Playgroud)
我们做了一些实验,并获得了最佳性能
data=writeback,barrier=0Run Code Online (Sandbox Code Playgroud)
我已经阅读了这些内容,并了解他们正在做的事情的基础知识,但我对我们这样跑步是否是个好主意没有很好的感觉/感觉?
对于托管服务,上述配置是否明智?
如果我们遇到停电或严重崩溃,那么我们最终可能会丢失数据或文件损坏。如果我们每 15 分钟拍摄一次数据库快照,这可能会缓解这种情况,但拍摄快照时数据库可能不会同步。我们应该(可以?)如何确保这种快照的完整性?
我们应该考虑其他选择吗?
谢谢
我的系统使用 UTC 作为系统时钟,我并不特别想改变它。有没有一种简单的方法可以获取当前的 TAI 时间?(最好是命令行工具或标志)
语境
我们有一个带有 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 被转换。但我想更进一步:
解决方案和问题
Samba 提供了cifsacl需要设置cifs.idmap和winbindd. 两者都已安装,我已经阅读了两个手册页并尝试配置它们,但它不起作用。新的挂载命令现在是:
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 需要运行吗?我需要在防火墙中打开端口吗?
背景资料
股份结构
共享目录有几个子目录,一些公用的和一些“私有的”(尽管私有的实际上是每个人都可以读取的)。每个用户需要不时访问公共空间以及其他用户私有目录,但主要/通常是他们自己的目录。
技术数据