对于哪些 Linux 发行版适合生产服务器环境,哪些不适合,有很多社区感觉,但是,很多这种感觉似乎是基于宗教的,并且很少提供支持证据。
假设我们试图选择一个 Linux 发行版进行标准化(因为我们有兴趣保持我们的环境尽可能同质),什么标准是重要的,你如何确定不同的发行版如何满足这些标准?
我在各种 Linux 服务器上将 XFS 文件系统作为数据/增长分区运行了近 10 年。
我注意到最近运行 6.2+ 版本的 CentOS/RHEL 服务器有一个奇怪的现象。
从 EL6.0 和 EL6.1 迁移到较新的操作系统版本后,稳定的文件系统使用变得高度可变。最初安装 EL6.2+ 的系统表现出相同的行为;显示 XFS 分区上磁盘利用率的剧烈波动(请参见下图中的蓝线)。
我开始检查文件系统中是否有大文件和失控进程(可能是日志文件?)。我发现我最大的文件报告的值与du
和不同ls
。du
使用和不使用--apparent-size
开关运行说明了差异。
# du -skh SOD0005.TXT
29G SOD0005.TXT
# du -skh --apparent-size SOD0005.TXT
21G SOD0005.TXT
Run Code Online (Sandbox Code Playgroud)
在整个文件系统中使用ncdu 实用程序进行快速检查,结果如下:
Total disk usage: 436.8GiB Apparent size: 365.2GiB Items: 863258
Run Code Online (Sandbox Code Playgroud)
文件系统充满了稀疏文件,与之前版本的操作系统/内核相比,损失了近 70GB 的空间!
我仔细阅读了Red Hat Bugzilla并更改了日志,以查看是否有任何关于 XFS 的相同行为或新公告的报告。
纳达。
我在升级过程中从内核版本 …
在具有 6 个磁盘的 raid 1+0 之上的 LVM 之上使用 XFS 的 DL380p gen8 服务器上,与 RHEL 5 相比,相同的工作负载导致 RHEL 6 上的磁盘写入增加了十倍,从而使应用程序无法使用。
请注意,我不是在尽可能地优化 co6 系统,而是在理解为什么 co6 的行为如此不同,并解决这个问题。
我们有一个 MySQL 复制设置,使用 mysql 5.5。使用 RHEL 6 作为操作系统的 gen8 服务器上的 Mysql 从服务器性能不佳,使用 vmstat 和 iostat 检查显示这些服务器执行十倍的页面输出活动和十倍的写入磁盘子系统的量。blktrace 显示这些写入不是由 mysql 发起的,而是由内核发起的。
Centos 5:
[dkaarsemaker@co5 ~]$ vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
3 0 12 252668 102684 10816864 0 …
Run Code Online (Sandbox Code Playgroud) 我正在两台相同的服务器上对一个应用程序进行基准测试,一台是 Centos 5.8,另一台是 Centos 6.2。我的应用程序在 Centos 6.2 机器上的运行速度要慢得多(50% 或更少)。
在尝试诊断问题时,我在整个基准测试过程中跟踪 CPU、RAM 和 IO。我看到使用 iostat 测量的 Centos 6.2 机器上的磁盘读取明显更高。
两个系统都在运行我的基准测试所在的 XFS。两者都是惠普服务器,配备 512MB 缓存 RAID 控制器,配备 8 个 300GB SAS 运行 RAID 10。
这是每个 xfs_info 的输出:
centos5
meta-data=/dev/cciss/c0d0p5 isize=256 agcount=32, agsize=8034208 blks
= sectsz=512 attr=0
data = bsize=4096 blocks=257094144, imaxpct=25
= sunit=32 swidth=128 blks, unwritten=1
naming =version 2 bsize=4096
log =internal bsize=4096 blocks=32768, version=1
= sectsz=512 sunit=0 blks, lazy-count=0
realtime =none extsz=4096 blocks=0, rtextents=0
Run Code Online (Sandbox Code Playgroud)
centos6
meta-data=/dev/sda5 isize=256 agcount=4, agsize=57873856 blks
= sectsz=512 …
Run Code Online (Sandbox Code Playgroud)