免费注册 查看新帖 |

Chinaunix

广告
  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6108 | 回复: 1
打印 上一主题 下一主题

没有挂载的第二硬盘spindown后不久总会自动spinup,怎么回事? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-24 11:04 |只看该作者 |倒序浏览
我搭建了一台 debian squeeze 服务器,装了两个 1T 的 Seagate SATA 硬盘。
第一块硬盘(sda)日常使用,上面装系统、放数据。
第二块硬盘(sdb)通过 cron 用 rsync 对第一块硬盘每星期作一次差异备份,平时不挂载,不使用。

我希望 sdb 每星期备份完后,空闲两分钟自动 spindown ,直到下一次备份。
也就是说 sdb 平时一直没有挂载,而且处于 spindown 状态。

因此我在 rc.local 里添加 hdparm -S24 /dev/sdb,而且确保不挂载 sdb 。

奇怪的是,这块没有挂载的空闲备份硬盘每次 spindown 后不久,大约几分钟后,又会自动 spinup,然后处于 active 状态,过两分钟再次自动 spindown,几分钟后又自动 spinup ,如此循环不止。这样下去对 sdb 肯定损害很大。

问题是:sdb 根本就没有挂载,它 spindown 后,debian 的哪个服务会这么无聊,时不时去尝试读取它以至于它又被唤醒呢?
怎么查看究竟是哪个服务会隔一段时间就自动唤醒没挂载的空闲硬盘呢?

论坛徽章:
0
2 [报告]
发表于 2011-06-24 16:45 |只看该作者
本帖最后由 Calvin00 于 2011-06-24 16:46 编辑

我终于找到是哪个程序在这么无聊地时不时读取没有挂载的第二硬盘了。
方法是让系统日志记录所有 block 设备的活动:
  1. echo 1 > /proc/sys/vm/block_dump
复制代码
这样,第二硬盘 spin down 后,没过多久,又自动 spin up,sdb的活动日志就可以用 dmesg 查看:
root@EAPD:/home/user# dmesg
Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.319190] sd 2:0:0:0: Attached scsi generic sg1 type 0
[    2.319641] scsi 3:0:0:0: CD-ROM            LG       CD-ROM CRD-8485B 1.00 PQ: 0 ANSI: 5
[    2.322397] sr0: scsi3-mmc drive: 0x/48x cd/rw xa/form2 cdda tray
[    2.322399] cdrom: Uniform CD-ROM driver Revision: 3.20
[    2.322573] sr 3:0:0:0: Attached scsi CD-ROM sr0
[    2.322762] sr 3:0:0:0: Attached scsi generic sg2 type 5
[    2.328078]  sda: sda1 sda2 sda3
[    2.328167]  sdb: sdb1 sdb2 sdb3
[    2.328479] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.328546] sd 2:0:0:0: [sdb] Attached SCSI disk
(我所说的两块硬盘)
[    2.328569] Freeing unused kernel memory: 572k freed
[    2.334290] ext4: Unknown symbol jbd2_journal_forget (err 0)
[    2.334393] ext4: Unknown symbol jbd2_journal_stop (err 0)
[    2.334574] ext4: Unknown symbol jbd2_journal_restart (err 0)
[    2.334830] ext4: Unknown symbol jbd2_journal_load (err 0)
[    2.334931] ext4: Unknown symbol jbd2_journal_check_available_features (err 0)
[    2.335086] ext4: Unknown symbol jbd2_journal_set_features (err 0)
[    2.335493] ext4: Unknown symbol jbd2_journal_unlock_updates (err 0)
[    2.335616] ext4: Unknown symbol jbd2_journal_file_inode (err 0)
[    2.335851] ext4: Unknown symbol jbd2_journal_get_create_access (err 0)
[    2.336009] ext4: Unknown symbol jbd2_journal_init_dev (err 0)
[    2.336157] ext4: Unknown symbol jbd2_journal_clear_features (err 0)
[    2.336917] ext4: Unknown symbol jbd2_journal_init_jbd_inode (err 0)
[    2.337028] ext4: Unknown symbol jbd2_journal_get_write_access (err 0)
[    2.337652] ext4: Unknown symbol jbd2_log_start_commit (err 0)
[    2.337829] ext4: Unknown symbol jbd2_journal_force_commit_nested (err 0)
[    2.338138] ext4: Unknown symbol jbd2_journal_clear_err (err 0)
[    2.338326] ext4: Unknown symbol jbd2_journal_init_inode (err 0)
[    2.338456] ext4: Unknown symbol jbd2_journal_abort (err 0)
[    2.338557] ext4: Unknown symbol jbd2_journal_blocks_per_page (err 0)
[    2.338972] ext4: Unknown symbol jbd2_journal_update_format (err 0)
[    2.339090] ext4: Unknown symbol jbd2_journal_release_jbd_inode (err 0)
[    2.339397] ext4: Unknown symbol jbd2_journal_revoke (err 0)
[    2.339654] ext4: Unknown symbol jbd2_journal_start_commit (err 0)
[    2.340045] ext4: Unknown symbol jbd2_journal_extend (err 0)
[    2.340355] ext4: Unknown symbol jbd2_journal_dirty_metadata (err 0)
[    2.340492] ext4: Unknown symbol jbd2_journal_try_to_free_buffers (err 0)
[    2.340784] ext4: Unknown symbol jbd2_journal_wipe (err 0)
[    2.340894] ext4: Unknown symbol jbd2_journal_start (err 0)
[    2.341370] ext4: Unknown symbol jbd2_journal_destroy (err 0)
[    2.342314] ext4: Unknown symbol jbd2_journal_release_buffer (err 0)
[    2.342509] ext4: Unknown symbol jbd2_journal_force_commit (err 0)
[    2.342638] ext4: Unknown symbol jbd2_journal_get_undo_access (err 0)
[    2.342813] ext4: Unknown symbol jbd2_log_wait_commit (err 0)
[    2.343251] ext4: Unknown symbol jbd2_journal_invalidatepage (err 0)
[    2.343483] ext4: Unknown symbol jbd2_journal_lock_updates (err 0)
[    2.343799] ext4: Unknown symbol jbd2_journal_errno (err 0)
[    2.344120] ext4: Unknown symbol jbd2_journal_begin_ordered_truncate (err 0)
[    2.344300] ext4: Unknown symbol jbd2_journal_flush (err 0)
[    2.378615] SGI XFS with ACLs, security attributes, realtime, large block/inode numbers, no debug enabled
[    2.378975] SGI XFS Quota Management subsystem
[    2.387739] usb 3-1: New USB device found, idVendor=07e4, idProduct=9213
[    2.387743] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.387745] usb 3-1: Product: Movado USB Keyboard
[    2.387747] usb 3-1: Manufacturer: ALCOR
[    2.393787] hub 3-1:1.0: USB hub found
[    2.395738] hub 3-1:1.0: 3 ports detected
[    2.677755] usb 3-1.1: new full speed USB device using ohci_hcd and address 3
[    2.708147] ISO 9660 Extensions: Microsoft Joliet Level 3
[    2.708310] ISOFS: changing to secondary root
[    2.708443] isofs_fill_super: root inode is not a directory. Corrupted media?
[    2.730778] XFS mounting filesystem sda1
[    2.777757] usb 3-1.1: New USB device found, idVendor=07e4, idProduct=a961
[    2.777760] usb 3-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.777763] usb 3-1.1: Product: Movado USB Keyboard
[    2.777765] usb 3-1.1: Manufacturer: ALCOR
[    2.803540] input: ALCOR Movado USB Keyboard as /devices/pci0000:00/0000:00:13.0/usb3/3-1/3-1.1/3-1.1:1.0/input/input2
[    2.803771] generic-usb 0003:07E4:A961.0001: input,hidraw0: USB HID v1.10 Keyboard [ALCOR Movado USB Keyboard] on usb-0000:00:13.0-1.1/input0
[    2.805145] Ending clean XFS mount for filesystem: sda1
[    2.812455] ISO 9660 Extensions: Microsoft Joliet Level 3
[    2.812636] ISO 9660 Extensions: RRIP_1991A
[    2.813865] input: ALCOR Movado USB Keyboard as /devices/pci0000:00/0000:00:13.0/usb3/3-1/3-1.1/3-1.1:1.1/input/input3
[    2.814139] generic-usb 0003:07E4:A961.0002: input,hiddev0,hidraw1: USB HID v1.10 Device [ALCOR Movado USB Keyboard] on usb-0000:00:13.0-1.1/input1
[    2.883772] usb 3-1.2: new low speed USB device using ohci_hcd and address 4
[    2.986007] usb 3-1.2: New USB device found, idVendor=08f2, idProduct=027f
[    2.986011] usb 3-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.986014] usb 3-1.2: Product: USB Touchpad
[    2.986016] usb 3-1.2: Manufacturer: LUCIDITY
[    3.019225] generic-usb 0003:08F2:027F.0003: hidraw2: USB HID v1.00 Device [LUCIDITY USB Touchpad ] on usb-0000:00:13.0-1.2/input0
[    7.025045] cloop: Can't open device read-write in mode 0x1f
[    7.025394] cloop: losetup_file: 17134 blocks, 65536 bytes/block, largest block is 65562 bytes.
[    7.027460] ISO 9660 Extensions: RRIP_1991A
[    7.028784] aufs test_add:261:busybox[1639]: uid/gid/perm /SYSTEM 0/0/0755, 0/0/01777
[    7.122768] XFS mounting filesystem sda3
[    7.238309] Ending clean XFS mount for filesystem: sda3
[    7.338225] XFS mounting filesystem sda2
[    7.386622] Ending clean XFS mount for filesystem: sda2
[    7.627788] [drm] Initialized drm 1.1.0 20060810
[    7.690289] [drm] radeon kernel modesetting enabled.
[    7.690360] radeon 0000:01:05.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18
[    7.690365] radeon 0000:01:05.0: setting latency timer to 64
[    7.691881] [drm] initializing kernel modesetting (RS780 0x1002:0x9610).
[    7.691945] [drm] register mmio base: 0xFDBF0000
[    7.691947] [drm] register mmio size: 65536
[    7.693754] ATOM BIOS: 113
[    7.693791] radeon 0000:01:05.0: VRAM: 256M 0x00000000C0000000 - 0x00000000CFFFFFFF (256M used)
[    7.693795] radeon 0000:01:05.0: GTT: 512M 0x00000000A0000000 - 0x00000000BFFFFFFF
[    7.693972] [drm] Detected VRAM RAM=256M, BAR=256M
[    7.693976] [drm] RAM width 32bits DDR
[    7.694060] [TTM] Zone  kernel: Available graphics memory: 437050 kiB.
[    7.694062] [TTM] Zone highmem: Available graphics memory: 1686270 kiB.
[    7.694064] [TTM] Initializing pool allocator.
[    7.694083] [drm] radeon: 256M of VRAM memory ready
[    7.694085] [drm] radeon: 512M of GTT memory ready.
[    7.694117] [drm] radeon: irq initialized.
[    7.694120] [drm] GART: num cpu pages 131072, num gpu pages 131072
[    7.695026] [drm] Loading RS780 Microcode
[   18.543960] k8temp 0000:00:18.3: Temperature readouts might be wrong - check erratum #141
[   18.554811] ACPI: resource piix4_smbus [io  0x0b00-0x0b07] conflicts with ACPI region SOR1 [??? 0x00000b00-0x00000b0f flags 0x31]
[   18.554815] ACPI: If an ACPI driver is available for this device, you should use it instead of the native driver
[   18.573664] sky2: driver version 1.28
[   18.573711] sky2 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[   18.573722] sky2 0000:02:00.0: setting latency timer to 64
[   18.573759] sky2 0000:02:00.0: Yukon-2 EC Ultra chip revision 5
[   18.573855] sky2 0000:02:00.0: irq 40 for MSI/MSI-X
[   18.574829] sky2 0000:02:00.0: eth0: addr 00:30:18:ab:17:78
[   18.578916] HDA Intel 0000:00:14.2: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[   18.620422] hda_codec: ALC883: BIOS auto-probing.
[   18.728891] sky2 0000:02:00.0: eth0: enabling interface
[   18.867717] FDC 0 is a post-1991 82077
[   18.950465] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[   18.972702] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[   19.022986] serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
[   19.181408] 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[   19.195710] ip_tables: (C) 2000-2006 Netfilter Core Team
[   19.238468] r600_cp: Failed to load firmware "radeon/R600_rlc.bin"
[   19.238479] [drm:r600_startup] *ERROR* Failed to load firmware!
[   19.238483] radeon 0000:01:05.0: disabling GPU acceleration
[   19.239502] radeon 0000:01:05.0: f4ecae00 unpin not necessary
[   19.239506] radeon 0000:01:05.0: f4ecae00 unpin not necessary
[   19.239511] [drm] Enabling audio support
[   19.239518] failed to evaluate ATIF got AE_BAD_PARAMETER
[   19.239752] [drm] Radeon Display Connectors
[   19.239754] [drm] Connector 0:
[   19.239755] [drm]   VGA
[   19.239758] [drm]   DDC: 0x7e40 0x7e40 0x7e44 0x7e44 0x7e48 0x7e48 0x7e4c 0x7e4c
[   19.239760] [drm]   Encoders:
[   19.239762] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[   19.239763] [drm] Connector 1:
[   19.239765] [drm]   HDMI-A
[   19.239766] [drm]   HPD3
[   19.239769] [drm]   DDC: 0x7e50 0x7e50 0x7e54 0x7e54 0x7e58 0x7e58 0x7e5c 0x7e5c
[   19.239771] [drm]   Encoders:
[   19.239772] [drm]     DFP3: INTERNAL_KLDSCP_LVTMA
[   19.246947] [drm] radeon: power management initialized
[   19.247267] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[   19.272892] [drm] fb mappable at 0xD0040000
[   19.272895] [drm] vram apper at 0xD0000000
[   19.272897] [drm] size 3145728
[   19.272898] [drm] fb depth is 24
[   19.272900] [drm]    pitch is 4096
[   19.292644] Console: switching to colour frame buffer device 128x48
[   19.299822] fb0: radeondrmfb frame buffer device
[   19.299825] drm: registered panic notifier
[   19.299834] [drm] Initialized radeon 2.7.0 20080528 for 0000:01:05.0 on minor 0
[   20.393566] sky2 0000:02:00.0: eth0: Link is up at 100 Mbps, full duplex, flow control both
[   28.915264] NET: Registered protocol family 10
[   28.915533] lo: Disabled Privacy Extensions
[   28.939111] sshd (2880): /proc/2880/oom_adj is deprecated, please use /proc/2880/oom_score_adj instead.
[   29.847659] vboxdrv: Found 2 processor cores.
[   29.848202] vboxdrv: fAsync=1 offMin=0x97d68 offMax=0x97d68
[   29.848590] vboxdrv: TSC mode is 'asynchronous', kernel timer mode is 'normal'.
[   29.848593] vboxdrv: Successfully loaded version 4.0.8 (interface 0x00180000).
[   31.343563] input: ACPI Virtual Keyboard Device as /devices/virtual/input/input4
[   31.548241] XFS mounting filesystem sda1
[   31.592802] Ending clean XFS mount for filesystem: sda1
[   39.110009] eth0: no IPv6 routers present
[  355.061723] ps(3426): dirtied inode 21130 (2) on proc
[  355.423217] miniserv.pl(3423): dirtied inode 20127 (current.cache.webmintmp.3423) on tmpfs
[  355.441115] sensors(3446): dirtied inode 25598 (device) on sysfs
[  355.583817] fdisk(344: READ block 0 on sdb (8 sectors)
[  355.583842] fdisk(344: READ block 8 on sdb (8 sectors)
[  355.583849] fdisk(344: READ block 16 on sdb (8 sectors)
[  355.583854] fdisk(344: READ block 24 on sdb (8 sectors)
[  355.583898] ata3.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
[  355.583901] ata3.00: waking up from sleep
[  355.583907] ata3: hard resetting link
[  356.069987] ata3: softreset failed (device not ready)
[  356.069991] ata3: applying SB600 PMP SRST workaround and retrying
[  356.236664] ata3: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[  356.238600] ata3.00: configured for UDMA/133
[  356.238609] ata3: EH complete
[  362.013888] fdisk(344: READ block 1953525160 on sdb (8 sectors)
[  362.038331] fdisk(344: READ block 0 on sdb (8 sectors)
[  362.038343] fdisk(344: READ block 8 on sdb (8 sectors)
[  362.038350] fdisk(344: READ block 16 on sdb (8 sectors)
[  362.038355] fdisk(344: READ block 24 on sdb (8 sectors)
[  362.038695] fdisk(344: READ block 32 on sdb (8 sectors)
[  362.038701] fdisk(3448): READ block 40 on sdb (8 sectors)
[  362.038706] fdisk(3448): READ block 48 on sdb (8 sectors)
[  362.038712] fdisk(3448): READ block 56 on sdb (8 sectors)
[  362.038716] fdisk(3448): READ block 64 on sdb (8 sectors)
[  362.038721] fdisk(3448): READ block 72 on sdb (8 sectors)
[  362.038725] fdisk(3448): READ block 80 on sdb (8 sectors)
[  362.038730] fdisk(3448): READ block 88 on sdb (8 sectors)
(无聊的fdisk读取sdb导致sdb spin up)
[  363.183807] miniserv.pl(3423): dirtied inode 21363 (info.webmintmp.3423) on tmpfs
[  363.242822] miniserv.pl(3423): dirtied inode 21202 (netcounts) on tmpfs
[  363.243986] miniserv.pl(3423): dirtied inode 21208 (diskused) on tmpfs
[  363.244220] miniserv.pl(3423): dirtied inode 21215 (maxes) on tmpfs
[  665.714836] miniserv.pl(3471): dirtied inode 20154 (current.cache.webmintmp.3471) on tmpfs
[  665.870439] fdisk(3496): READ block 0 on sdb (8 sectors)
[  665.870466] fdisk(3496): READ block 8 on sdb (8 sectors)
[  665.870473] fdisk(3496): READ block 16 on sdb (8 sectors)
[  665.870477] fdisk(3496): READ block 24 on sdb (8 sectors)
[  665.871401] fdisk(3496): READ block 1953525160 on sdb (8 sectors)
[  665.871579] fdisk(3496): READ block 0 on sdb (8 sectors)
[  665.871586] fdisk(3496): READ block 8 on sdb (8 sectors)
[  665.871590] fdisk(3496): READ block 16 on sdb (8 sectors)
[  665.871594] fdisk(3496): READ block 24 on sdb (8 sectors)
[  665.871788] fdisk(3496): READ block 32 on sdb (8 sectors)
[  665.871794] fdisk(3496): READ block 40 on sdb (8 sectors)
[  665.871799] fdisk(3496): READ block 48 on sdb (8 sectors)
[  665.871803] fdisk(3496): READ block 56 on sdb (8 sectors)
[  665.871807] fdisk(3496): READ block 64 on sdb (8 sectors)
[  665.871811] fdisk(3496): READ block 72 on sdb (8 sectors)
[  665.871815] fdisk(3496): READ block 80 on sdb (8 sectors)
[  665.871819] fdisk(3496): READ block 88 on sdb (8 sectors)
(一段时间后无聊的fdisk再次读取sdb)
[  666.984500] miniserv.pl(3471): dirtied inode 21483 (info.webmintmp.3471) on tmpfs
[  667.042890] miniserv.pl(3471): dirtied inode 21382 (netcounts) on tmpfs
[  667.044266] miniserv.pl(3471): dirtied inode 21383 (maxes) on tmpfs
[  975.975671] miniserv.pl(3515): dirtied inode 21555 (current.cache.webmintmp.3515) on tmpfs
[  976.138147] fdisk(3540): READ block 0 on sdb (8 sectors)
[  976.138173] fdisk(3540): READ block 8 on sdb (8 sectors)
[  976.138180] fdisk(3540): READ block 16 on sdb (8 sectors)
[  976.138185] fdisk(3540): READ block 24 on sdb (8 sectors)
[  976.139114] fdisk(3540): READ block 1953525160 on sdb (8 sectors)
[  976.139291] fdisk(3540): READ block 0 on sdb (8 sectors)
[  976.139297] fdisk(3540): READ block 8 on sdb (8 sectors)
[  976.139303] fdisk(3540): READ block 16 on sdb (8 sectors)
[  976.139308] fdisk(3540): READ block 24 on sdb (8 sectors)
[  976.139498] fdisk(3540): READ block 32 on sdb (8 sectors)
[  976.139505] fdisk(3540): READ block 40 on sdb (8 sectors)
[  976.139509] fdisk(3540): READ block 48 on sdb (8 sectors)
[  976.139514] fdisk(3540): READ block 56 on sdb (8 sectors)
[  976.139518] fdisk(3540): READ block 64 on sdb (8 sectors)
[  976.139523] fdisk(3540): READ block 72 on sdb (8 sectors)
[  976.139527] fdisk(3540): READ block 80 on sdb (8 sectors)
[  976.139531] fdisk(3540): READ block 88 on sdb (8 sectors)
(讨厌的fdisk又跳出来读取sdb,再次导致sdb spin up)
[  982.984515] miniserv.pl(3515): dirtied inode 21580 (info.webmintmp.3515) on tmpfs
[  983.043310] miniserv.pl(3515): dirtied inode 21502 (netcounts) on tmpfs
[  983.044612] miniserv.pl(3515): dirtied inode 21503 (maxes) on tmpfs

我不知道哪个进程会规律地每隔几分钟调用 fdisk 一次。最大嫌疑是 udev 这类硬件守护进程,待我详细排查。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP