ฉันพยายามหาขนาดที่เหมาะสมที่สุดสำหรับสำเนาขนาดใหญ่จากฮาร์ดไดรฟ์ของฉันโดยใช้ dd ฉันพยายามที่จะคิดว่าขนาดที่ดีที่สุดในการใช้บล็อคซึ่งฉันคิดว่าเป็นขนาดบล็อกของฮาร์ดแวร์สำหรับไดรฟ์นั้น
ฉันพยายามหาขนาดที่เหมาะสมที่สุดสำหรับสำเนาขนาดใหญ่จากฮาร์ดไดรฟ์ของฉันโดยใช้ dd ฉันพยายามที่จะคิดว่าขนาดที่ดีที่สุดในการใช้บล็อคซึ่งฉันคิดว่าเป็นขนาดบล็อกของฮาร์ดแวร์สำหรับไดรฟ์นั้น
คำตอบ:
lsblkคำสั่งเป็นที่ดีสำหรับการนี้:
lsblk -o NAME,PHY-SeC
ผลลัพธ์ที่ได้:
NAME PHY-SEC
sda 512
├─sda1 512
├─sda2 512
└─sda5 512
ลินุกซ์ exposes /sys/block/sdX/queue/physical_block_size
ขนาดเซกเตอร์กายภาพในแฟ้ม แม้ว่าเพื่อให้ได้ประสิทธิภาพที่ดีที่สุดคุณอาจต้องทำการทดสอบเล็ก ๆ น้อย ๆ ด้วยขนาดที่แตกต่างกันและ Meassure ฉันจะไม่ พบ ชัดเจนคำตอบในการที่ใช้ตรงขนาดบล็อกทางกายภาพจะได้รับผลที่ดีที่สุด (แม้ว่าฉันถือว่ามันไม่สามารถเป็นทางเลือกที่ดี)
hdparm
จะมีแนวโน้มที่จะโกหกคุณ
$ sudo hdparm -I /dev/sda | grep -i physical
Physical Sector size: 4096 bytes
hdparm -I /dev/sda | grep Sector
เป็น nicer เนื่องจากจะแสดงทั้งขนาดจริงและขนาดพร้อมกันเพื่อการเปรียบเทียบที่ง่ายขึ้น
ฉันไม่ได้ตั้งใจจะเป็นคำตอบที่สมบูรณ์ แต่ฉันหวังว่ามันจะช่วยได้เช่นกัน
นี่คือสิ่งเล็กน้อยจากhttp://mark.koli.ch/2009/05/howto-whole-disk-backups-with-dd-gzip-and-p7zip.html
สำหรับการสำรองข้อมูลที่รวดเร็วยิ่งขึ้นสามารถช่วยลดขนาดบล็อกที่เหมาะสมของอุปกรณ์ดิสก์ที่คุณต้องการสำรองข้อมูลได้ สมมติว่าคุณกำลังสำรอง / dev / sda นี่คือวิธีที่คุณสามารถใช้คำสั่ง fdisk เพื่อกำหนดขนาดบล็อกที่ดีที่สุด:
rescuecd#/> /sbin/fdisk -l /dev/sda | grep Units
Units = cylinders of 16065 * 512 = 8225280 bytes
โปรดสังเกตว่าเอาต์พุต fdisk ระบุว่า "ภาชนะบรรจุของ 16065 * 512" ซึ่งหมายความว่ามี 512 ไบต์ต่อบล็อกบนดิสก์ คุณสามารถปรับปรุงความเร็วของการสำรองข้อมูลได้อย่างมีนัยสำคัญโดยการเพิ่มขนาดบล็อกเป็นทวีคูณของ 2 ถึง 4 ในกรณีนี้ขนาดบล็อกที่เหมาะสมอาจเป็น 1k (512 * 2) หรือ 2k (512 * 4) BTW รับโลภและใช้ขนาดบล็อก 5k (512 * 10) หรือสิ่งที่มากเกินไปจะไม่ช่วย ในที่สุดระบบจะติดขัดที่ตัวอุปกรณ์และคุณจะไม่สามารถบีบประสิทธิภาพเพิ่มเติมใด ๆ จากกระบวนการสำรองข้อมูล (เน้นเพิ่ม)
ฉันสงสัยว่าความแตกต่างของประสิทธิภาพระหว่างขนาดบล็อกที่ใกล้ที่สุดและเหมาะสมที่สุดสำหรับการกำหนดค่าที่กำหนดนั้นเล็กน้อยมากยกเว้นว่าชุดข้อมูลมีขนาดใหญ่มาก อันที่จริงผู้ใช้ที่ FixUnix (โพสต์จากปี 2007) อ้างว่าเวลาที่เหมาะสมของเขานั้นเร็วกว่าคนที่เหมาะสมที่สุดเพียง 5% บางทีคุณอาจบีบประสิทธิภาพออกไปเล็กน้อยโดยใช้ขนาด "คลัสเตอร์" หรือขนาดบล็อกระบบไฟล์หลาย ๆ
แน่นอนถ้าคุณย้ายออกไปไกลเกินกว่าขนาดบล็อกที่เหมาะสมทั้งสองด้านคุณจะเจอกับปัญหา
บรรทัดล่างคือคุณจะได้รับประสิทธิภาพประมาณ 5% (เช่น 3 นาทีต่อชั่วโมง) ด้วยขนาดบล็อกที่เหมาะสมที่สุดดังนั้นให้พิจารณาว่าคุ้มค่ากับเวลาและความพยายามในการค้นคว้าเพิ่มเติมหรือไม่ ตราบใดที่คุณอยู่ห่างจากค่านิยมที่สุดคุณไม่ควรทนทุกข์
echo "p" | /sbin/fdisk /dev/sda...
แทน/sbin/fdisk -l /dev/sda...
? ที่สองจะสะอาดกว่าและจะไม่พยายามทำการเปลี่ยนแปลงใด ๆ
/sbin/fdisk -l /dev/sda | grep Units
รายงานการใช้บทความที่เชื่อมโยง อาจมีการเปลี่ยนแปลงในสองปีที่ผ่านมา ไม่ว่าในกรณีใดฉันได้อัปเดตคำตอบของคุณแล้ว
การถ่ายโอนดิสก์แต่ละครั้งจะสร้างการขัดจังหวะที่โปรเซสเซอร์ต้องจัดการ โดยทั่วไปดิสก์ 50Mb / s จะต้องการสร้าง 100000 ของแต่ละวินาทีที่ขนาดบล็อก 512b ตัวประมวลผลปกติจะจัดการ 10s ของพันเหล่านั้นดังนั้นขนาดบล็อกที่ใหญ่กว่า (2 ^ x) จะมีประโยชน์มากขึ้น (4k เป็นขนาดบล็อกเริ่มต้น FS ในส่วนใหญ่ ระบบที่มีขนาดสูงสุด 64k ISA DMA) จะเป็นประโยชน์มากกว่า ...
นอกจากนี้คุณสามารถดูผลลัพธ์ของlshw
การตรวจสอบผลลัพธ์อื่น ๆ ได้ (และเพราะฉันดูเหมือนจะไม่มีhdparm
ใน distro ของฉัน) สิ่งนี้อาจช่วยให้แคบลง:
sudo lshw | awk 'BEGIN {IGNORECASE=1;} /SCSI/,!//{print}'