使用 Debian 6.0/squeeze 设置的服务器。在squeeze安装期间,我将两个500GB SATA磁盘(/dev/sda和/dev/sdb)配置为RAID1(使用mdadm管理)。RAID 保留一个 500 GB LVM 卷组 (vg0)。在卷组中,有一个逻辑卷 (lv0)。vg0-lv0 用 extfs3 格式化并挂载为 root 分区(没有专用的 /boot 分区)。系统使用 GRUB2 引导。
在正常使用中,系统启动正常。
此外,当我在关机后尝试移除第二个 SATA 驱动器 (/dev/sdb) 时,系统没有问题,重新连接驱动器后,我能够 --re-add /dev/sdb1 到 RAID大批。
但是:移除第一个 SATA 驱动器 (/dev/sda) 后,系统将无法再启动!GRUB 欢迎消息显示一秒钟,然后系统重新启动。
我尝试在 /dev/sdb(“grub-install /dev/sdb”)上手动安装 GRUB2,但这没有帮助。
当第一块磁盘被移除时,显然squeeze无法设置GRUB2从第二个磁盘启动,这似乎是运行这种Software RAID1时非常重要的功能,不是吗?
目前,我不知道这是 GRUB2、LVM 还是 RAID 设置的问题。任何提示?
我们有一个带有巨大 disk_cache(> 500.000 个条目,> 50 GB 磁盘空间使用)的 Apache 设置。缓存每天增长 16 GB。
我的问题是缓存的增长速度几乎与从缓存文件系统中删除文件和目录的速度一样快!
缓存分区是 iSCSI 存储上的 ext3 文件系统(100GB,“-t news”)。Apache 服务器(充当缓存代理)是一个 VM。disk_cache 配置为 CacheDirLevels=2 和 CacheDirLength=1,并包括变体。典型的文件路径是“/htcache/B/x/i_iGfmmHhxJRheg8NHcQ.header.vary/A/W/oGX3MAV3q0bWl30YmA_A.header”。
当我尝试调用htcacheclean来驯服缓存(非守护进程模式,“htcacheclean-t -p/htcache -l15G”)时,IOwait 正在经历几个小时。没有任何可见的动作。只有在几个小时后,htcacheclean 才开始从缓存分区中删除文件,这需要几个小时。(2009年Apache邮件列表中提出了类似的问题,没有解决:http : //www.mail-archive.com/dev@httpd.apache.org/msg42683.html)
高 IOwait 会导致 Web 服务器的稳定性出现问题(连接到 Tomcat 后端服务器的桥有时会停止)。
我想出了我自己的修剪脚本,它从缓存的随机子目录中删除文件和目录。才发现脚本的删除率只是略高于缓存增长率。该脚本需要大约 10 秒来读取 a 子目录(例如 /htcache/B/x)并释放大约 5 MB的磁盘空间。在这 10 秒内,缓存又增加了 2 MB。与 htcacheclean 一样,当连续运行修剪脚本时,IOwait 上升到 25%。
任何的想法?
这是特定于(相当慢的)iSCSI 存储的问题吗?
我应该为巨大的 disk_cache 选择不同的文件系统吗?分机2?ext4?
这种场景有没有内核参数优化?(我已经尝试了截止日期调度程序和较小的 …