我可以在格式化设备上使用blockdev –setra或存在RAIDarrays吗?

我有一个现有的RAIDarrays,我想增加readahead设置。 但该设备已被格式化,并包含我不能丢失的数据。 我不熟悉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”是完全安全的。 在我们的init脚本中,我们在一些服务器上运行每一次启动。 您可能希望在对基准值进行基准testing并决定哪个最适合您的工作负荷的情况下也要这样做。

我已经在许多现有的数据文件系统上运行了blockdev --setra XX ,没有遇到数据丢失。 事实上,这是一个运行时设置,所以如果你想要一个非默认的预读设置是永久的,你需要在每次启动时在块设备上进行扩展。