Cách sử dụng Log2RAM trên Raspberry Pi kéo dài tuổi thọ - AGOLA Cách sử dụng Log2RAM trên Raspberry Pi kéo dài tuổi thọ - AGOLA
24 / 100

Log2ram là phần mềm chuyển hướng các bản ghi vào bộ nhớ thay vì thẻ SD. Đây là cách tôi sử dụng nó để kéo dài tuổi thọ của Thẻ SD trong Raspberry Pi của mình.

Được xuất bản lần đầu tại ikarus.sg vào ngày 24 tháng 10 năm 2020

Trong bài viết trước của tôi , tôi đã nói về cách bạn có thể sử dụng zram để tăng thêm bộ nhớ từ Raspberry Pi của mình mà không mất phí. Trong phần này, tôi sẽ nói về cách bạn có thể sử dụng bộ nhớ nén bổ sung đó để kéo dài tuổi thọ của thẻ SD trên Raspberry Pi của mình.

Thiết kế tuyệt vời của việc sử dụng thẻ SD

Kể từ khi Raspberry Pi ra đời, hầu hết tất cả các máy tính bảng mạch đơn (SBC) trên thị trường đều đi đầu trong việc sử dụng thẻ SD làm phương tiện lưu trữ chính cho HĐH.

Những lợi ích chính của việc làm như vậy, như tôi thấy, là:

  1. Sự tiện lợi của việc không cần ngắt kết nối và di chuyển thiết bị đến máy tính của bạn để được đặt lại hoặc chiếu lại trong trường hợp hệ điều hành bị lỗi nghiêm trọng
  2. Mức giá thấp của thẻ SD cho phép thay thế rẻ trong trường hợp bộ nhớ bị hỏng
  3. Học lặp đi lặp lại nhanh hơn và chuyển đổi thiết lập tính năng, trong đó thiết bị có thể đóng một vai trò hoàn toàn khác chỉ bằng cách hoán đổi thẻ SD đòi hỏi chuyển đổi hệ điều hành.
    Ví dụ: Media-center ➡️ Thay thế máy tính để bàn ➡️ Trung tâm IoT

Mặc dù việc sử dụng thẻ SD là rất tốt cho việc học tập và các dự án cá nhân nhỏ, nhưng SBC trong thời đại ngày nay đã phát triển hơn các trường hợp sử dụng ban đầu của chúng do kết quả của cuộc chạy đua vũ trang giữa Raspberry Pi Foundation và tất cả các nhà sản xuất SBC khác.

Ví dụ: tại thời điểm viết bài, chúng ta đang thấy Raspberry Pi 4 Model B với tùy chọn RAM 8GB, quá nhiều so với một bộ điều khiển IoT đơn giản. Do đó, không có gì ngạc nhiên khi thị trường SBC phát triển chậm nhưng chắc chắn, phát triển nhanh hơn các trường hợp sử dụng ban đầu của họ.

Tôi sử dụng SBC để làm gì

Tôi hiện đang chạy các dịch vụ web tự lưu trữ cho gia đình và bạn thân của mình (tối đa 20 người dùng) trên 11 SBC, tổng cộng lên đến 50 lõi, 23GB RAM trải đều trên 2 cụm Kraken và Leviathan.

Trang tổng quan Grafana của tôi hiển thị việc sử dụng tài nguyên trên các cụm của tôi

Đây là một ví dụ khá khắc nghiệt, nhưng nếu trường hợp sử dụng của bạn thậm chí chạm từ xa để chạy một máy chủ 24/7, thì bạn nhất định gặp phải các vấn đề về độ tin cậy của thẻ SD tại một số thời điểm trong suốt tuổi thọ của nó.

Sự cố với thẻ SD

Về bản chất, thẻ SD giống hệt với ổ flash và SSD. Tất cả 3 giải pháp lưu trữ đều sử dụng cái mà chúng tôi gọi là bộ nhớ flash dựa trên NAND để duy trì dữ liệu mà không cần nguồn.

Sự khác biệt chính giữa thẻ SD / ổ flash và SSD đắt hơn nằm ở công nghệ cơ bản của flash NAND được sử dụng. Thẻ SD và ổ đĩa flash giống nhau thường sử dụng công nghệ MLC ( Multi-level cell ) trong đó nhiều (tối đa 5) bit thông tin được lưu trữ trong một phần tử lưu trữ duy nhất , trong khi SSD thường sử dụng công nghệ SLC ( Single-level cell ) chỉ có 1 bit thông tin được lưu trữ trong một phần tử lưu trữ duy nhất . Một tương tự cho điều này là cho thuê nhà.

Tương tự cho thuê căn hộ

Giả sử rằng bạn sở hữu một tòa nhà gồm 100 căn hộ. Tòa nhà này đại diện cho thiết bị lưu trữ của bạn, căn hộ đại diện cho các yếu tố lưu trữ trên thiết bị và người thuê đại diện cho dữ liệu của bạn.

Kịch bản SLC

Căn hộ studio ở Singapore (Nguồn)

Nếu bạn đặt công suất tối đa cho mỗi căn hộ chỉ là 1 người , thì điều này sẽ dẫn đến mật độ người thuê tương đối thấp , mức sống cao và do đó, chi phí đầu người cao do tòa nhà chỉ có thể chứa 100 khách thuê. Người thuê cũng có thể được định vị nhanh chóng vì 1 căn hộ luôn tương ứng với 1 người thuê. Tình hình này phản ánh công nghệ NAND điển hình trong SSD, về cơ bản là cao cấp, lưu trữ nhanh và đáng tin cậy.

Kịch bản MLC

Một tòa nhà chung cư đông dân cư ở Thành phố có Tường bao quanh Cửu Long (Greg Girard)

Nếu bạn nâng công suất tối đa mỗi căn hộ lên 5 , thì mật độ khách thuê sẽ tăng gấp 5 lần. Mặc dù điều này làm giảm chi phí đầu người xuống 1/5 so với kịch bản trước đó, cho phép tòa nhà của bạn có 500 khách thuê, nhưng các căn hộ mật độ cao có xu hướng có mức sống thấp hơn . Người thuê cũng tẻ nhạt hơn trong việc xác định vị trí , vì mỗi căn hộ có thể chứa nhiều người thuê.

Ngoài ra, mật độ căn hộ cao cũng dẫn đến tỷ lệ tội phạm gia tăng, bằng chứng là ở Thành phố có tường bao quanh Kowloon của Hồng Kông , khu dân cư đông đúc nhất thế giới trước khi bị phá hủy vào năm 1994. Tỷ lệ tội phạm ở đây có thể được coi là tương đương với tỷ lệ tham nhũng dữ liệu . Tình trạng này phản ánh công nghệ NAND điển hình trong ổ đĩa flash, nơi lưu trữ rẻ, nhưng chậm với khả năng bị hỏng dữ liệu cao hơn.

Tất cả điều này có nghĩa là gì

Thẻ SD sẽ chịu tác động của sự hao mòn sớm hơn so với SSD và các phương tiện lưu trữ khác do công nghệ lưu trữ của chúng dẫn đến tuổi thọ ngắn hơn, đặc biệt nếu việc sử dụng của bạn nhiều ghi. Thật không may, trên thực tế mọi thứ ngoài kia đều có thành phần ghi nhiều dữ liệu, ngoại trừ các tập lệnh đơn giản được lập lịch, vì vậy, bạn mong muốn thay thế thẻ SD trên Raspberry Pi của mình, trung bình 2 năm một lần .

Tuy nhiên, điều này không có nghĩa là Raspberry Pis của bạn đã chết.

Vẫn còn hy vọng.

Xin chào log2ram

Trong một máy chủ điển hình, hầu hết các hoạt động ghi không phải từ bản thân nội dung mà là từ các bản ghi. Nhật ký từ nhân linux, daemon máy chủ, công nhân của nó, cũng như các phần mềm khác mà bạn có thể đã định vị trên cùng một máy.

Log2ram là một phần mềm linux chuyển hướng việc ghi như vậy vào bộ nhớ (RAM) thay vì đĩa (Thẻ SD). Nó thực hiện điều này bằng cách tạo một thiết bị khối ảo từ không gian dành riêng trong bộ nhớ ( đĩa ram ), di chuyển /var/logthư mục hiện có đến /var/log.hddvà sau đó, gắn đĩa ram vào /var/lognơi mà tất cả các bản ghi thường ghi vào. Bằng cách này, việc đăng nhập vào bộ nhớ là minh bạch đối với tất cả các ứng dụng, vì chúng vẫn đăng nhập vào cùng một thư mục.

Độ bền của nhật ký

Vì RAM chỉ hoạt động tạm thời và tất cả dữ liệu trong đó bị mất khi mất điện, các bản ghi này được ghi vào bộ nhớ cuối cùng cũng phải được lưu vào đĩa. Log2ram đạt được độ bền của nhật ký bằng cách đồng bộ hóa định kỳ /var/logvào đĩa /var/log.hddvới một công việc cron được mặc định chạy hàng ngày.

Lời cảnh báo

Có một nhược điểm khi sử dụng log2ram mà bạn nên biết trước khi triển khai nó trên hệ thống của mình. Trong trường hợp hệ thống gặp sự cố hoặc mất điện, bạn có thể mất nhật ký có giá trị về các sự kiện xảy ra ngay trước khi sự cố xảy ra.

Điều này là do tính ổn định của RAM và cơ chế bền bỉ cần thiết khi sử dụng log2ram. Sự cố / ngừng hoạt động rất có thể xảy ra trước khi công việc cron tiếp tục ghi nhật ký vào đĩa, có cơ hội chạy, dẫn đến mất nhật ký trong khoảng thời gian từ 1 giây trước và lùi xa tần suất đồng bộ hóa đã đặt (1 ngày qua theo mặc định).

Nếu nhật ký thực sự quan trọng đối với thiết lập của bạn, tôi khuyên bạn nên bỏ qua hoàn toàn log2ram hoặc đặt khoảng thời gian đồng bộ hóa rất thường xuyên (<1 giờ) mặc dù điều đó hạn chế nghiêm trọng lợi ích của bài tập này.

Cài đặt log2ram

Bây giờ với những món đồ dễ chịu, chúng ta hãy làm bẩn tay. Các bước cài đặt rất giống với zram-swap-config , vì một lý do mà tôi sẽ tiết lộ sau trong phần này.

Đảm bảo rằng git đã được cài đặt

 

$ sudo apt-get install git

 

$ git clone https://github.com/azlux/log2ram && cd log2ram

 

$ chmod +x install.sh && sudo ./install.sh

 

$ cd .. && rm -r log2ram

log2ram được cài đặt với các mặc định lành mạnh. Nhưng vì lợi ích của những kẻ kỳ quái ngoài kia, đây là cách bạn có thể chỉnh sửa nó.

Chỉnh sửa /etc/log2ram.confvà sửa đổi các thông số sau theo ý bạn.

 

Parameter Explanation
SIZE The amount of space in the memory to reserve for logs. (Default: 40M).
USE_RSYNC Set to true to use rsync -X instead of cp -u when persisting logs in memory to disk. (Default: false)
MAIL Set to false to disable system mail when the ramdisk runs out of space and only log an error. (Default: true)
ZL2R Use a zram drive instead of creating a ramdisk. (Default: false)
view rawlog2ram-params.md hosted with ❤ by GitHub

 

Đến đây có lẽ bạn đã nhận ra những gì tôi sắp nói tiếp theo, nhưng vì lợi ích của những người có một ngày tồi tệ hoặc đang trải qua độ trễ não cao, đây là điều còn ấn tượng hơn về log2ram:

Log2ram tích hợp với zram để lưu trữ nhật ký tiết kiệm không gian (😱 !!! 1111oneone)

Phần thưởng: Tích hợp với zram

Trước khi tôi đi sâu vào nó, đối với những người chưa quen, tôi sẽ chỉ dành một phút để giải thích tại sao đây là một vấn đề lớn.

Tại sao điều này tuyệt vời?

Dữ liệu văn bản và tính năng nén luôn song hành với nhau vì tính năng nén hoạt động trên nguyên tắc rằng văn bản, đặc biệt là văn bản tiếng Anh, bao gồm một số lượng lớn các hoán vị của các ký tự tạo thành từ và câu, từ một tập hợp ký tự tương đối nhỏ (~ 128 nếu ASCII). Từ quan điểm của một cỗ máy, đó là rất nhiều sự lặp lại. Bằng cách lưu trữ các ký tự và thông tin vị trí của nó, chúng ta có thể tiết kiệm rất nhiều dung lượng và đó chính là chức năng của việc nén.

Nhật ký là một ví dụ tuyệt vời về dữ liệu có thể nén như vậy. Với những tiến bộ trong tập lệnh CPU, nén đã trở thành một hoạt động tương đối rẻ trong các bộ vi xử lý hiện đại, do đó, nén không chỉ tiết kiệm dung lượng mà còn có chi phí hiệu suất rất thấp.

Điều tôi đang nói ở đây là chúng ta có thể lưu trữ nhiều nhật ký hơn gấp 5 lần trong cùng một khoảng không gian trong bộ nhớ dành riêng cho log2ram. Để đưa mọi thứ vào góc nhìn, cài đặt mặc định là 40M sẽ cho phép ghi nhật ký trị giá 200M , một con số có thể bạn sẽ không bao giờ đạt được trên Raspberry Pi.

Định cấu hình log2ram cho zram-swap-config

Nếu bạn chưa cài đặt zram-swap-config, hãy tham khảo bài viết trước của tôi để thiết lập nó trước khi đọc tiếp. Nếu bạn đã làm như vậy, hãy chỉnh sửa /etc/log2ram.confvà sửa đổi các thông số sau cho phù hợp với hệ thống của bạn.

 

Parameter Explanation
COMP_ALG Compression algorithm to use.
LOG_DISK_SIZE Estimated uncompressed disk size. This value can be calculated with SIZE * Expected compression ratio.
view rawlog2ram-zram-params.md hosted with ❤ by GitHub

 

Tỷ lệ nén dự kiến ​​cho LOG_DISK_SIZEcấu hình ( Nguồn ):

 

Compressor Ratio Compression Decompression
zstd 1.3.4 -1 2.877 470 MB/s 1380 MB/s
zlib 1.2.11 -1 2.743 110 MB/s 400 MB/s
brotli 1.0.2 -0 2.701 410 MB/s 430 MB/s
quicklz 1.5.0 -1 2.238 550 MB/s 710 MB/s
lzo1x 2.09 -1 2.108 650 MB/s 830 MB/s
lz4 1.8.1 2.101 750 MB/s 3700 MB/s
snappy 1.1.4 2.091 530 MB/s 1800 MB/s
lzf 3.6 -1 2.077 400 MB/s 860 MB/s
view rawlog2ram-comp-alg.md hosted with ❤ by GitHub

 

Khi bạn đã hoàn tất việc định cấu hình log2ram, hãy khởi động lại Raspberry Pi và bạn đã sẵn sàng.

Cấu hình của tôi cho Raspbian trên Raspberry Pi 3B

 

SIZE=100M
USE_RSYNC=false
MAIL=true
PATH_DISK="/var/log"
ZL2R=true
COMP_ALG=lz4
LOG_DISK_SIZE=400M
  • SIZEđược đặt thành 100M khi tôi đang chạy Kubernetes và tôi có xu hướng có trung bình 10 nhóm trên mỗi nút. Đĩa ram có xu hướng hết dung lượng ở các giá trị thấp hơn.
  • COMP_ALGđược đặt thành cùng một thuật toán nén được sử dụng trong zram-swap-config , bản thân nó, bị giới hạn bởi tính khả dụng của hệ thống.
  • LOG_DISK_SIZEđược đặt thành 400M, với tỷ lệ nén trong thế giới thực ước tính là 4,00. Tỷ lệ này cao hơn đáng kể so với tỷ lệ lý thuyết ở trên vì chúng có được từ việc nén dữ liệu hỗn hợp, trong khi trong trường hợp này, chúng tôi chỉ nén văn bản, điều này xảy ra rất khó nén .

Các lý do cần đọc trước khi quyết định liên hệ tôi 

  1. Tham gia group Mua bán Google Ads và Google Shopping :

    https://www.facebook.com/groups/314513929300715

  2. Tham gia group mua bán cho thuê tài khoản BM Agency :

    https://www.facebook.com/groups/1204318359703229

  3. AGOLA chỉ cung cấp dịch vụ không có dịch vụ tư vấn hiểu tới đâu bán tới đó !
  4. AGOLA ngừng cung cấp các gói dịch cho bọn có Slogan " Tuần đổi xe tháng mua nhà " hoặc liên quan !
  5. Các dịch vụ liên quan đến hướng dẫn : diễn ra từ 5-30 phút thông qua teamview hoặc ultral thời gian càng ngắn giá tiền càng cao nên các bạn đọc kỹ trước khi sử dụng
  6. Các sản phẩm dịch vụ không có thương thảo giá và cũng không có hỏi thêm
  7. Không làm việc với mấy thằng giao lưu với lũ suốt ngày dùng VPS remote này remote kia sock này sock kia đổi ngôn ngữ này đổi ngôn ngữ kia add page này sang page kia đổi đá cá kiểu con đà điều ... đây là một lũ ngu thời hiện đại khi bạn muốn vượt rào vòng đầu bạn đã gian lận thì vượt vào đít kèm với đó khả năng dính liên đơi nghi ngờ hành vi bất thường là rất cao nó như kiểu hành vi của bạn có tần xuất giống như hành vi của bọn gian lận khá nhiều nó cho bạn vào động cơ gian lận có nguy cơ nó sẽ pem luôn nhé ... và ti tỷ lý do khác nhé nếu bọn mày mà làm theo tụi nó lên cam được tao cho 20 triệu tiền cafe cà pháo
  8. Không bán vĩnh viễn mọi dịch vụ mua nhầm đòi đổi sang gói dịch vụ khác
  9. Thông tin bảo hành gần như không có nhưng cũng có một số dịch vụ có bảo hành đề nghị đọc kỹ trước khi quyết định mua
  10. Quyết định mua hàng là đồng ý các điều khoản mua bán và điều khoản không được lấy lại tiền và không bồi hoàn
  11. Mua hàng thì xin đọc kỹ điều khoản ở từng mô tả trước khi quyết định nhấc máy liên hệ ở thông tin của từng gói dịch vụ
  12. Mọi giao dịch đều được phải bắt buộc chụp màn hình chuyển khoản gửi vào Zalo
  13. Các đối tượng cố ý chuyển tiền gói này để trục lợi sử dụng gói khác đều được coi là hình vi lừa đảo ! Cố ý ghi nội dung hiểu lầm về chuyển tiền để đôi co đòi sử dụng gói dịch vụ khác cũng vậy !
  14. Tôi là dân khối A nên việc viết sai lỗi chính tả thì kệ mẹ tôi thích thì mua không thích thì đừng soi đi ra chỗ khác do tôi không có soát lại chính tả nên các bạn đọc thay vì thắc mắc thì thông cảm giùm tôi ! miễn sao tôi truyền tải thông tin bạn đọc bạn thấy hiểu được bạn sử dụng không được bạn tìm bên khác
  15. Tôi không làm việc với bọn cử nhân viên là các công ty Agency , truyền thông gọi hỏi dò hỏi luyên thuyên ! Nếu cố tình tôi sẽ dùng CRM Agency cấm lock chạy Ads vĩnh viễn khi nhìn thấy đuôi theo rõi của doanh nghiệp đó mà tôi đã gán.
  16. Tôi không làm việc với bọn nào thì tôi chạy tiền tỷ tôi tiêu tiền tỷ nhưng chạy demo trước nếu ngon thì vít lớn nhưng sau 3 ngày thuê thấy đéo thấy như cam kết về ngân sách
  17. Tôi không hợp tác ăn chia hay kiểu Win Win đôi bên có lợi
  18. Tất cả những câu hỏi khi gọi điện khiến tôi nghĩ rằng bạn chưa đọc kỹ thông tin trên website sẽ được tôi từ chối vô điều kiện
  19. Không làm việc các công ty có các nhân vật nổi tiếng trên các đài báo truyền hình bởi vậy bớt quảng cáo
  20. Các đối tượng cố tình lên mạng tìm kiểm thông tin tôi và không có trao đổi được tôi dùng Zalo : O9O9.456.866 gửi STK thông tin thanh toán của tôi qua zalo đó mà vẫn chuyển tiền vào tài khoản của tôi được coi là hình vi lừa đảo cố tình trọc phá và lợi dụng sử dụng lừa đảo để mong muốn sử dụng dịch vụ của tôi nhưng vì cấm nên phải làm vậy
  21. Kiến thức của đại đa số dân trên mạng không sai mà chỉ đúng với bọn gà mờ mà thôi kiểu như bạn học lớp 1 cô giáo nói 1 không trừ được cho 2 lên cấp 2 cô giáo nói 1 trừ được cho 2 ! Lúc đó cô giáo cấp 1 hay thầy giáo cấp 2 không nói ai đúng ai sai được mà tại thời điểm đó bạn thấy nó đúng còn khi đi sâu vào nó đéo đúng 😀 ! Cũng như việc tôi bán dịch vụ cho dân trong nghề việc tôi có bắt mấy thằng cấp 1 nuốt kiến thức chuyên sâu của cấp 2 là không được bởi vậy dân nào hiểu sẽ liên hệ mua chứ đừng kiểu lơ mở hỏi cho vui cửa vui nhà
  22. Không làm việc với bọn hở miệng ra là em từng có BM2500 với BM1000
  23. Không lamg việc với bọn hở mồm ra là fake mà đến cái via kiểm tra như thế nào là 1 cái via Việt hay via us... cũng đéo biết kiểm tra thế mà cứ đi nghe mấy thằng trên mạng Fake Ip , Fake đổi ngôn ngữ này ngôn ngữ kia ... tùm lum tà la login đổi via các kiểu con đa điểu rồi nghe thì vui tai mà làm cũng được không đéo có biết lý do chỉ có lý do vớ vẩn - Không tin tao đố bọn mày hỏi thử nó 1 câu via Việt là như thế nào đố thằng đó biết đó xàm xí - hay via việt là thông tin Việt Nam hahaha !
  24. Không làm việc với bọn nào thì đổi mạng 4g kết nối này kết nối kia lên cam có con cặc ấy mấy cái công nghệ cổ lỗ sĩ này bọn code tool click quảng cáo nó sài gần 10 năm nay rồi lòe dân gà hoài dần dần ko hiệu quả bọn nó ko dùng rồi lũ đó biến mất khỏi thị trường bán tài khoản
  25. Quyết tâm cấm log mọi thằng liên quan tới BM2500 vĩnh viễn hạn chế tài khoản quảng cáo liên đới từ 6 tới 2 năm kể cả cho kháng XMDT theo tút trên mạng
  26. Tiếp tục sắp tới sẽ thanh lọc toàn bộ Invoice
  27. Bọn mày nghĩ xem mẹ chúng nó giỏi vậy nhận hàng về mà chạy quảng cáo đi giàu hơn ko sao phải đi kiếm tiền dạy học ba láp ba xàm đó xem thấy quảng cáo của tụi đó trước đây chạy quảng cáo tràn lan quảng bá khóa học như đúng rồi giờ chạy đi ba láp ba xàm

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Call Now Button
X