Bao lâu để không một ổ đĩa với dd? [đóng cửa]


14

Sẽ mất bao lâu để không điền vào 1TB (sử dụng dd dev / zero)?

Tôi thực sự đang làm hai ổ 500G cùng một lúc nếu nó quan trọng.


3
Vì vậy, hãy cho chúng tôi, mất bao lâu để dd các ổ đĩa có số không?
Rolnik

1
Sata WD 1Tb (5400rpm) của tôi mất khoảng 240 phút, nhưng nó đã cũ và có các khu vực được phân bổ lại. Ngẫu nhiên, nó không khác biệt so với cùng thời điểm mà báo cáo thông minh là thời gian để mong đợi một cuộc tự kiểm tra kéo dài sẽ kéo dài (255 phút)
barrymac

2
Thêm một điểm dữ liệu khác: vừa chạy dd if=/dev/zero of=/dev/sdX bs=8Mtrên hai ổ đĩa Seagate ST4000DM000 4 TB hoàn toàn mới trên các cổng SATA-300 (Tôi nghĩ rằng nó ít nhiều hoàn toàn song song - việc sử dụng CPU không đổi ở mức ~ 20% cho ddquy trình đầu tiên trước khi bắt đầu lần thứ hai và sau đó cả hai chiếm ~ 20% mỗi cái). Đĩa đầu tiên hoàn thành sau 8h50 phút (530 phút) và đĩa thứ hai sau 8h30 phút (510 phút). Nó lên tới tốc độ ghi ~ 130 MB / s trên mỗi ổ đĩa, điều này không có gì lạ khi xem xét đầu vào đơn điệu. Phần cứng là từ năm 2009 (CPU: C2D E8400; chipset: Intel P43 / ICH10).
Daniel Andersson

Câu trả lời:


9

Nó phụ thuộc vào nhiều yếu tố, bao gồm nhưng không giới hạn ở:

  • Tốc độ đĩa (RPM)
  • Bộ nhớ cache tích hợp trên đĩa
  • Số lượng đĩa và liệu nó có thể ghi vào nhiều đĩa đồng thời không
  • Giao diện đĩa (SATA / SCSI, v.v.)
  • Hiệu suất điều khiển giao diện
  • Cấu hình của các ổ đĩa (ví dụ: các kênh riêng biệt hoặc cùng một kênh)

Ngoài ra, mặc dù zeroing một ổ đĩa là một nhiệm vụ đơn giản cho CPU và RAM, nhưng vẫn có thể có một hiệu ứng từ:

  • Hiệu suất CPU
  • RAM có sẵn
  • Tốc độ của RAM
  • Các nhiệm vụ khác đang được thực hiện cùng một lúc
  • Cài đặt quản lý nguồn

Giả sử một máy tính khá gần đây có ổ đĩa trung cấp, trên đĩa khởi động linux tối thiểu đang chạy CHỈ hoạt động zeroing (không có gui, internet, v.v.) được tải hoàn toàn vào RAM, nó có thể ở bất cứ đâu từ 2-12 giờ. Nếu tôi phải ném một con số ra, tôi sẽ nói gần 3 tiếng rưỡi, nhưng một lần nữa, không có đủ thông tin để có được ước tính tốt ngoài việc thực hiện nó.

Nếu bạn có nhiều hơn 1GB dung lượng trống, bạn có thể thử gắn ổ đĩa và chạy dd if=/dev/zero bs=512 count=2048 of=/tmp/tempzerohoặc một số tệp khác. Nếu bạn biết thêm về kích thước khối tối ưu để ghi nhanh nhất vào ổ đĩa của mình, bạn có thể sử dụng giá trị đó cho giá trị bs (tính bằng kilobyte) và đặt số đếm thành bất cứ thứ gì giúp bạn đạt được kích thước tệp bạn muốn. Sau đó, bạn có thể sử dụng điều đó để có được ước tính tốt hơn mà không mất dữ liệu. Nó sẽ chỉ tạo một tệp lớn chứa số không.


3
Theo kinh nghiệm của tôi về các ổ đĩa cứng của thập kỷ trước hoặc lâu hơn, bs = 1M là một cải tiến vượt bậc so với bs = 512 và đủ tốt để sử dụng làm mặc định mà không phải lo lắng quá nhiều về việc tìm kiếm tối ưu.
crazyscot

@crazyscot có sự khác biệt lớn với bs = 1M để ghi đè mặc định khủng khiếp của bs = 512. Ngoài ra ddresTHER (kiểm tra cách đặt kích thước khối trong đó), đưa ra tỷ lệ phần trăm / thanh tiến trình.
barlop

2

Tôi đã làm một dd với dữ liệu ngẫu nhiên trên ổ đĩa 750 GB. Tôi nghĩ rằng nó mất khoảng 20 giờ. Điều thực sự hấp dẫn về nó, là tôi phải làm điều đó bốn lần cho một mảng RAID bốn đĩa. Tôi nghĩ nút cổ chai là tốc độ ghi của ổ đĩa của bạn. Bạn đang thông minh để làm điều đó với các ổ đĩa song song.


2
Một phần lớn của vấn đề hiệu suất của bạn có thể là do bạn sử dụng các số ngẫu nhiên. / dev / urandom hoặc bất kỳ nguồn nào khác sẽ rất cố gắng để tạo ra các số thực sự ngẫu nhiên, do đó làm giảm thông lượng của bạn. Một cái gì đó như / dev / zero sẽ không có vấn đề đó.
Sam Bcdee

Có bất kỳ rủi ro nào về 1TB số không được nén ở đâu đó trong đường ống để lưu trữ và làm sai lệch kết quả không? Tôi không có nghĩa là thực sự nén trên đĩa, nhưng trong quá trình tối ưu hóa
cá nóc

2

Với phân vùng +100 GB, Acer Aspire 5750G, sata hdd ngoài, usb 2, 5400rpm:

xxxx@acer-ubuntu:~$ sudo dd if=/dev/zero of=/dev/sdb2 bs=8M
[sudo] password for xxxx: 
dd: writing `/dev/sdb2': No space left on device
12500+0 records in
12499+0 records out
104856551424 bytes (105 GB) copied, 2846.87 s, 36.8 MB/s

xxxx@acer-ubuntu:~$ sudo dd if=/dev/zero of=/dev/sdb1 bs=8M
[sudo] password for xxxx: 
dd: writing `/dev/sdb1': No space left on device
6579+0 records in
6578+0 records out
55183409152 bytes (55 GB) copied, 1497.23 s, 36.9 MB/s

1

Tôi đoán, nhưng tôi đoán là nó sẽ phụ thuộc vào bộ điều khiển ổ đĩa, bộ điều khiển trên bo mạch chủ và những gì khác đang ngấm vào CPU / IO.

Tôi đoán, theo thứ tự giờ hoặc giờ. Ngày có vẻ dài. Tùy thuộc vào cách máy của bạn được thiết lập, chạy cả hai cùng một lúc có thể thực sự làm mọi thứ chậm lại nếu bạn tạo ra sự tranh chấp cho bộ điều khiển ổ đĩa. Mặc dù bạn đang bơm ra các số không, nhưng không có gì trong ổ đĩa của bạn biết điều đó và nó cần ghi từng byte.


1

Nếu bạn chỉ xóa các ổ đĩa, một công cụ tuyệt vời để sử dụng cho thông lượng song song là DBAN ở chế độ xóa đơn giản. Nó có sẵn dưới dạng ISO và về cơ bản thực hiện dd if=/dev/zerolệnh cho bạn trên các ổ đĩa bạn chọn.


0

Nó sẽ mất 2-5 giờ. Nút thắt của bạn là đĩa, không phải RAM, CPU, cáp hoặc cấu hình bộ điều khiển. Trừ khi bạn có một máy tính rất cũ, như Pentium ban đầu, CPU và bộ nhớ của bạn nhanh hơn tốc độ trục chính của đĩa cứng, cũng như cáp SATA của bạn. Bộ nhớ cache thậm chí không hoạt động vì bạn đang xóa ổ đĩa (trừ khi bạn có 1 TB bộ đệm).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.