Làm thế nào để phân vùng chính xác ổ đĩa flash USB và chọn hệ thống tập tin nào để xem xét cân bằng hao mòn?


13

Hai vấn đề. Đầu tiên: làm thế nào để phân vùng ổ đĩa flash?

Tôi không cần phải làm điều này, nhưng tôi không còn chắc chắn liệu phân vùng của mình có được căn chỉnh chính xác hay không vì tôi buộc phải xóa và tạo một bảng phân vùng mới sau khi gparted phàn nàn khi tôi cố gắng định dạng ổ đĩa từ FAT sang ext4.

Câu trả lời ngây thơ sẽ là "chỉ cần sử dụng mặc định và mọi thứ sẽ ổn thôi". Tuy nhiên, nếu bạn đọc các liên kết sau, bạn sẽ biết mọi thứ không đơn giản: https://lwn.net/Articles/428584/http://linux-howto-guide.blogspot.com/2009/10/increas- usb-flash-drive-write-speed.html

Sau đó là vấn đề về trụ, đầu và các ngành. Hiện tại tôi nhận được điều này:

$sfdisk -l -uM  /dev/sdd
Disk /dev/sdd: 30147 cylinders, 64 heads, 32 sectors/track
Warning: The partition table looks like it was made
   for C/H/S=*/255/63 (instead of 30147/64/32).
For this listing I'll assume that geometry.
Units = mebibytes of 1048576 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start   End    MiB    #blocks   Id  System
/dev/sdd1         1  30146  30146   30869504   83  Linux

$fdisk -l /dev/sdd
Disk /dev/sdd: 31.6 GB, 31611420672 bytes
255 heads, 63 sectors/track, 3843 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00010c28

Vì vậy, theo hiểu biết hiện tại của tôi, tôi nên căn chỉnh các phân vùng ở 4 MiB (hiện tại là 1 MiB). Nhưng tôi vẫn không biết cách đặt đầu và cung đúng cho thiết bị của mình.

Vấn đề thứ hai: hệ thống tập tin.

Từ các điểm chuẩn tôi thấy ext4 cung cấp hiệu suất tốt nhất, tuy nhiên có vấn đề về mức độ hao mòn. Làm thế nào tôi có thể biết rằng bộ vi điều khiển Transcend JetFlash 700 của tôi cung cấp cho cân bằng hao mòn? Hay tôi sẽ giết ổ đĩa của mình nhanh hơn?

Tôi đã thấy rất nhiều bài đăng trên web nói rằng đừng lo lắng các ổ đĩa mới hơn đã xử lý vấn đề đó. Nhưng tôi chưa bao giờ thấy một bằng chứng duy nhất nào về điều đó và đôi khi mọi người bắt đầu trộn SSD với công nghệ ổ đĩa flash USB. Tùy chọn an toàn sẽ là ext2, tuy nhiên các bài kiểm tra nghiêm túc mà tôi thực hiện cho thấy hiệu suất khủng khiếp !!!

Các giá trị này là từ một kịch bản thực tế chứ không phải một số thử nghiệm tổng hợp:

42 files: 3,429,415,284 bytes copied to flash drive
original fat32: 15.1 MiB/s
ext4 after new partition table: 10.2 MiB/s
ext2 after new partition table:  1.9 MiB/s

Xin vui lòng đọc các liên kết mà tôi đã đăng ở trên trước khi trả lời. Tôi cũng sẽ quan tâm đến câu trả lời được sao lưu với một số tài liệu tham khảo vì rất nhiều điều được nói và nói lại nhưng sau đó nó thiếu sự thật.

Cảm ơn bạn vì sự giúp đỡ.


"tuy nhiên có vấn đề về cân bằng hao mòn" - Bạn thực sự không có lựa chọn nào trong vấn đề này. Ổ đĩa USB Flash hoặc thẻ SD mà bạn mua thực hiện công việc cân bằng mức độ hao mòn hoặc không. Bạn không thể / không nên sử dụng một hệ thống tập tin có mức độ hao mòn (ví dụ JFFS2). Và bạn không thể cài đặt quản lý âm lượng UBI (trước tiên bạn cần cài đặt MTD, nhưng đó là cho các thiết bị Flash thô). Vì vậy, bạn đang bị mắc kẹt với việc dựa vào bộ điều khiển nhúng.
mùn cưa

Câu trả lời:


8

Đừng lo lắng về hình trụ, người đứng đầu và lĩnh vực và chỉ từng làm việc với các lĩnh vực. Cách dễ nhất để căn chỉnh hệ thống tập tin là đơn giản là không có bảng phân vùng (tức là tạo hệ thống tập tin /dev/sdXtrực tiếp). Hầu hết các hệ thống Linux sẽ xử lý tốt việc này, nhưng Windows sẽ thất bại và bạn cũng không thể làm cho nó có khả năng khởi động. Nếu bạn cần một bảng phân vùng, hãy tìm hiểu có bao nhiêu cung 512 byte tạo thành một khối xóa. Các khối xóa là khoảng 128-512KiB, vì vậy nếu bạn không thể tìm ra ổ đĩa flash của bạn sử dụng thì hãy sử dụng 1024 ngành. Hãy chắc chắn rằng các phân vùng bắt đầu trên bội số của số này.

Bạn cũng muốn nói với ext2 / 3/4 về kích thước khối xóa để nó có thể tránh các khối sửa đổi không cần thiết. Đặt cả hai stridestripe-widthsố lượng các khối hệ thống tập tin tạo nên một khối xóa, để làm việc với khối xóa 512KiB, hãy sử dụng như sau:

mkfs.ext4 -b 4096 -E stride=128,stripe-width=128

Về hiệu suất, không có tạp chí nên cải thiện hiệu suất (nhưng tăng khả năng hỏng dữ liệu nếu hoạt động bị gián đoạn). Tuy nhiên, phạm vi của ext4 sẽ cải thiện hiệu suất vì cần phải sửa đổi ít siêu dữ liệu hơn cho các tệp lớn. Tôi có thể sẽ sử dụng ext4 với tạp chí bị vô hiệu hóa:

tune2fs -O ^has_journal

Bạn có thể sử dụng cat /proc/mtdđể tìm hiểu kích thước khối xóa cho các thiết bị flash kèm theo.
Tomalak

Ổ đĩa flash không có bảng phân vùng sẽ hoạt động tốt trên Windows miễn là hệ thống tệp được hỗ trợ. Pendrive thường không có bảng phân vùng ngoài hộp và chúng hoạt động tốt.
gronostaj

Tối ưu hóa fs trên thẻ sd cho Linux / Fedora trên Dreamplug cho thấy cách để ext4 "biết" kích thước khối xóa và đặt kích thước khối và giá trị stride của mình phù hợp. Ngoài ra tôi tin rằng / Proc / mtd không liên quan ở đây vì nó chỉ khả dụng cho các thiết bị flash thô như mùn cưa đã nói, không dành cho các thiết bị bộ nhớ flash SD / stick.
tuk0z

Đã thử rằng, đó là một lời khuyên tồi tệ khủng khiếp. Không sử dụng các tham số đó với ổ flash USB. blogofterje.wordpress.com/2012/01/14/optimizing-fs-on-sd-card - anh chàng này có thông số tốt hơn, nhưng vẫn hoàn toàn tốt hơn so với những gì được sử dụng theo mặc định.
Zdenek

Đó là cùng một liên kết tôi đã đưa ra vào tháng 9 ^^ Đúng về AFAIK chia tay / Gparted.
tuk0z

4

Ngày nay, hầu hết các công cụ tạo phân vùng và hệ thống tập tin Linux mặc định là các giá trị căn chỉnh dữ liệu trên ranh giới 4K và thậm chí sẽ sử dụng kích thước khối bên dưới nếu đĩa lộ ra để mọi thứ không hoàn toàn xấu như trong bài viết của LWN:

TLDR; Khi sử dụng bản phân phối Linux hiện đại (giả sử 2013 trở lên) với các phiên bản công cụ gần đây để tạo phân vùng và hệ thống tệp tốt hơn (nhưng không hoàn hảo) sẽ tự động xảy ra. Ngoài ra, hãy cẩn thận - các giá trị tốt nhất cho thẻ SD có thể khác với thẻ USB (Tôi tin rằng Transcend JetFlash của bạn là thẻ USB không phải thẻ SD). Bạn sẽ phải đo điểm chuẩn để suy ra kích thước khối xóa cơ bản thực sự trên đèn flash giá rẻ ...


1

Ngoài ra, trong fstab của bạn, hãy chắc chắn sử dụng tùy chọn gắn kết "noatime" để tránh ghi không cần thiết mỗi khi tệp được truy cập.


Vẫn đúng cho đến ngày nay và điều này nhắc nhở tôi rằng tùy chọn này bị thiếu XD Thx
HypeWolf
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.