У меня есть массив RAID, и я хочу увеличить параметр чтения. Но устройство уже отформатировано и содержит данные, потерять которые я не могу. Я не знаком с командой blockdev. Безопасно ли запускать blockdev --setra = xxxxx на уже отформатированных устройствах? Будет ли выполнение следующей команды уничтожать (удалять) данные на моем устройстве? Есть ли риск этого?
$ blockdev --setra 65536 /dev/md0
Не уверен, что это важно, но вот подробности об устройствах:
$ xfs_info /data/d1
meta-data=/dev/md0 isize=256 agcount=16, agsize=8191936 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=131070976, imaxpct=25
= sunit=64 swidth=256 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=64000, version=2
= sectsz=512 sunit=64 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
$ sudo mdadm --detail /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu May 5 17:23:35 2011
Raid Level : raid0
Array Size : 524283904 (500.00 GiB 536.87 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Thu May 5 17:23:35 2011
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Chunk Size : 256K
Name : d1:0
UUID : 16d7fee4:a8903d2f:28c65d2f:161006b5
Events : 0
Number Major Minor RaidDevice State
0 202 241 0 active sync /dev/sdp1
1 202 242 1 active sync /dev/sdp2
2 202 243 2 active sync /dev/sdp3
3 202 244 3 active sync /dev/sdp4
Я бегал blockdev --setra XX
во многих существующих файловых системах с данными без потери данных. Фактически, это параметр времени выполнения, поэтому, если вы хотите, чтобы параметр упреждающего чтения не по умолчанию был постоянным, вам нужно использовать --setra на блочном устройстве при каждой загрузке.
«blockdev --setra» совершенно безопасен. В наших сценариях инициализации есть возможность запускаться при каждой загрузке на нескольких серверах. Вы, вероятно, захотите сделать то же самое после того, как протестировали несколько значений и решили, что лучше всего подходит для вашей рабочей нагрузки.