Mục lục:

2 Raspberry Pis cho RAID từ xa dễ dàng và rẻ tiền: 19 bước
2 Raspberry Pis cho RAID từ xa dễ dàng và rẻ tiền: 19 bước

Video: 2 Raspberry Pis cho RAID từ xa dễ dàng và rẻ tiền: 19 bước

Video: 2 Raspberry Pis cho RAID từ xa dễ dàng và rẻ tiền: 19 bước
Video: Dùng Lệnh Random Trái Phật Tổ Và Cái Kết Bất Ngờ | Blox Fruit 2024, Tháng bảy
Anonim
2 Raspberry Pis cho RAID từ xa dễ dàng và rẻ tiền
2 Raspberry Pis cho RAID từ xa dễ dàng và rẻ tiền
2 Raspberry Pis cho RAID từ xa dễ dàng và rẻ tiền
2 Raspberry Pis cho RAID từ xa dễ dàng và rẻ tiền

Mục đích

  1. Trong trường hợp xảy ra sự cố ở nhà, tôi muốn có thể khôi phục các tài liệu kỹ thuật số chính của mình (ảnh, giấy tờ tùy thân, v.v.) và chia sẻ chúng một cách tối ưu.
  2. Tôi muốn chia sẻ giải pháp này với người khác (người mà tôi tin tưởng, cha mẹ hoặc bạn bè)
  3. Tôi không muốn phụ thuộc vào đám mây công cộng (đăng ký, phí, GTC đang phát triển, v.v.)

Nguyên tắc

  1. Tạo 2 máy lưu trữ giống nhau, đặt chúng ở 2 vị trí khác nhau (ví dụ: 2 ngôi nhà).
  2. Chỉ định một không gian lưu trữ dành riêng cho từng vị trí trên mỗi máy.
  3. Thường xuyên đồng bộ hóa 2 không gian lưu trữ.

Quân nhu

Phần cứng

Mỗi máy có:

  • 1x Raspberry Pi 4 B 1GB
  • Hộp 1x cho Raspberry Pi 4
  • Nguồn cấp 1x USB C 5V 3A
  • 1x thẻ SD Kingston SDC10 / 16GB
  • 1x ổ cứng NAS 1To WD Red Mobile
  • Hộp 1x HDD BX-2525U3

Phần mềm Windows

  • balenaEtcher
  • Máy tính để bàn Raspbian buster đầy đủ
  • mobaxterm
  • Trình xem VNC (tùy chọn)

Gói Raspbian

  • Rsync
  • samba

Bước 1: Ưu điểm và nhược điểm

Ưu điểm & Khuyết điểm
Ưu điểm & Khuyết điểm

Thuận lợi

  1. Giải pháp này rẻ: Tôi không có phí đăng ký và phần cứng có thể mua được.
  2. "RAID từ xa" này khá dễ thực hiện. Tôi không cần thêm tài liệu hoặc công cụ để làm điều đó.
  3. Raspberry Pi có thể được sử dụng cho các ứng dụng bổ sung như media center (kodi,…) hoặc domotic (jeedom, domoticz,…).
  4. Dữ liệu của tôi không có sẵn trên đám mây công cộng có thể là mục tiêu cho tập hợp dữ liệu lớn.
  5. Sử dụng ổ cứng HDD 1To, mức tiêu thụ điện trung bình giống như một đám mây.
  6. Tường lửa của bộ định tuyến của tôi và mã hóa SSH của kết nối của tôi giúp bảo mật các trao đổi dữ liệu.

Nhược điểm / cải tiến

  1. Ai đó có bản sao tài liệu của tôi. Trong trường hợp của tôi, người này là của gia đình tôi nên tôi không quan tâm.
  2. Tôi sử dụng tài khoản "pi" mặc định, với mật khẩu dành riêng cho cả hai máy. Tôi có thể bảo mật quyền truy cập hơn một chút bằng cách sử dụng một tài khoản cụ thể riêng biệt ở mỗi bên thay vì tài khoản "pi".
  3. Tôi dựa vào nhà cung cấp dịch vụ Internet và mã hóa SSH để bảo mật kết nối giữa hai nhà. Nghiên cứu có thể được thực hiện để cải thiện mức độ bảo mật.
  4. Hiện tại, tôi chỉ tạo 2 phân vùng cho mỗi ổ đĩa. Một phân vùng thứ 3 nhỏ hơn (~ 5Go) có thể hữu ích cho hoạt động Raspbian khác, để bảo vệ thẻ µSD.

Bước 2: Chuẩn bị SD: Tải lên Raspbian

Từ máy tính (trong trường hợp của tôi là Windows 10), hãy làm theo hướng dẫn cài đặt chính thức (https://www.raspberrypi.org/downloads/raspbian/) để cài đặt "Raspbian Buster với máy tính để bàn".

Thêm tệp trống có tên "ssh" vào đĩa "/ boot /"

Thêm tệp có tên "wpa_supplicant.conf" vào đĩa "/ boot /"

Mở wpa_supplicant.conf và nhập văn bản:

country = US

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "MyWiFiNetwork" psk = "aVeryStrongPassword" key_mgmt = WPA-PSK}

Lưu và đóng tập tin.

Bước 3: Chuẩn bị SD: Tùy chỉnh thẻ

Chuẩn bị SD: Tùy chỉnh thẻ
Chuẩn bị SD: Tùy chỉnh thẻ

Thêm tệp trống có tên "ssh" vào đĩa "/ boot /"

Thêm tệp có tên "wpa_supplicant.conf" vào đĩa "/ boot /"

Mở wpa_supplicant.conf và nhập văn bản:

country = US

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "MyWiFiNetwork" psk = "aVeryStrongPassword" key_mgmt = WPA-PSK}

Lưu và đóng tập tin.

Bước 4: Chuẩn bị Raspberry Pi

Gắn thẻ SD của bạn vào Pi

Tăng sức mạnh cho Raspberry Pi, chọn cách mở màn hình nền:

  1. Sử dụng cáp hdmi, màn hình, bàn phím và chuột
  2. Sử dụng VNC từ máy tính của bạn.

Để biết thêm thông tin, hãy truy cập

Bước 5: Cách 1: Kết nối với Pi bằng Màn hình, Bàn phím, Chuột

Cách 1: Kết nối với Pi bằng Màn hình, Bàn phím, Chuột
Cách 1: Kết nối với Pi bằng Màn hình, Bàn phím, Chuột
Cách 1: Kết nối với Pi bằng Màn hình, Bàn phím, Chuột
Cách 1: Kết nối với Pi bằng Màn hình, Bàn phím, Chuột

Kết nối cổng Raspberry Pi HDMI0 với màn hình bằng cáp micro-hdmi với hdmi

Cắm bàn phím và chuột USB (hoặc bàn phím mini không dây như "Rii Mini i8 Wireless")

Cắm nguồn điện USB C và bật nguồn Raspberry Pi.

Raspbian sẽ bắt đầu trên màn hình của bạn.

Khi màn hình xuất hiện, hãy trả lời bảng cấu hình để hoàn tất việc cấu hình Pi của bạn.

Bước 6: Cách 2: Kết nối với Pi bằng VNC từ máy tính của bạn

Cách 2: Kết nối với Pi bằng VNC từ máy tính của bạn
Cách 2: Kết nối với Pi bằng VNC từ máy tính của bạn
Cách 2: Kết nối với Pi bằng VNC từ máy tính của bạn
Cách 2: Kết nối với Pi bằng VNC từ máy tính của bạn
Cách 2: Kết nối với Pi bằng VNC từ máy tính của bạn
Cách 2: Kết nối với Pi bằng VNC từ máy tính của bạn

Kết nối Raspberry Pi với mạng ethernet của bạn (bằng wifi hoặc bằng cáp).

Từ máy tính của bạn, mở Mobaxterm (hoặc putty), bắt đầu kết nối ssh mới (đăng nhập pi, mật khẩu raspberry) và định cấu hình Pi của bạn:

ssh pi @ raspberry_ip

sudo raspi-config

  • trong tùy chọn Interfacing / VNC: đặt Có
  • trong Tùy chọn nâng cao / Độ phân giải: đặt Chế độ DMT 82 1920x1080 60Hz 16: 9
  • trong Tùy chọn nâng cao / Trình điều khiển GL: đặt ổ đĩa để bàn G1 Legacy Original không phải GL

Lưu và thoát raspi-config

Khởi động lại Pi:

khởi động lại sudo

Từ máy tính của bạn, mở VNC Viewer và kết nối với Pi bằng cách sử dụng pi đăng nhập, mật khẩu raspberry: màn hình nền Pi sẽ xuất hiện.

Trả lời bảng cấu hình để kết thúc cấu hình Pi của bạn.

Khi bạn đã thay đổi mật khẩu Pi, kết nối VNC có thể đóng lại. Khởi động lại nó bằng mật khẩu mới của bạn.

Bước 7: Chuẩn bị ổ cứng HDD

Chuẩn bị ổ cứng
Chuẩn bị ổ cứng
Chuẩn bị ổ cứng
Chuẩn bị ổ cứng
  1. Kết nối ổ cứng với máy tính của bạn.
  2. Mở trình quản lý phân vùng Windows, chọn ổ cứng HDD của bạn và tạo 2 phân vùng NTFS (hoặc 3, nếu bạn muốn có một dung lượng trống nhỏ để bảo quản thẻ µSD). Ví dụ mình đặt tên cho 2 phần là "loic" và "vincent"
  3. Kết nối HDD với Pi: Raspbian sẽ tự động gắn 2 đĩa trên máy tính để bàn. Các ổ đĩa được liên kết với thư mục / media / pi / loic / và / media / pi / vincent /

Bước 8: Định cấu hình Rsync: Tạo Tập lệnh Đồng bộ

Định cấu hình Rsync: Tạo Tập lệnh Đồng bộ
Định cấu hình Rsync: Tạo Tập lệnh Đồng bộ

mở lời nhắc trên máy tính để bàn Pi

Trong / home / pi /, tạo một tập lệnh:

mkdir / home / pi / scriptsnano / home / pi / scripts / SB_sync

nhập văn bản:

#! / bin / sh

######## MỘT CONFIGURER ########### ip_distante = "192.168.0.19" port_distant = "xxxxx" media_local = "/ media / pi / loic" media_distant = "pi @ $ { ip_distante}: / media / pi / loic "machine_locale =" RPi4_loic "machine_distante =" RPi4_vincent "################################ ## log_local = "/ home / pi / SB_sync_logs" log_distant = "pi @ $ {ip_distante}: / home / pi / SB_sync_logs" currentDate = `date +"% Y-% m-% d% T "` mkdir -p / home / pi / SB_sync_logs #synchro de $ {machine_locale} $ {media_local} / vers $ {machine_distante} $ {media_distant} / echo $ currentDate> $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante} echo " Đồng bộ hóa en cours: de $ {machine_locale} $ {media_local} / vers $ {machine_distante} $ {media_distant} / ">> $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante} $ {machine_distante} $ { media_distant} / ">> $ {log_distant} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante} echo" Compte `whoami`"> $ {log_local} / 1. $ {machine_locale} _vers _ $ {machine_distante}.log echo "--------- -Début: "` date + "% Y-% m-% d% T" `" ---------- ">> $ {log_local} / 1. $ {Machine_locale} _vers _ $ {machine_distante}.log / usr / bin / rsync -avhPS --chmod = a + rwx --delete -e "ssh -p $ {port_distant}" $ {media_local} / $ {media_distant} / 2> & 1 >> $ {log_local} /1.${machine_locale}_vers_${machine_distante}.log

echo "---------- Fin:" `date +"% Y-% m-% d% T "` "----------" >> $ {log_local} / 1. $ {Machine_locale} _vers _ $ {machine_distante}.log

rm $ {log_local} /0.synchro_en_cours _ $ {machine_locale} _vers _ $ {machine_distante}

Định cấu hình dòng 3 đến dòng 7:

  • thay thế "loic" và "vincent" bằng tên ổ đĩa của bạn
  • port_distant: hiện tại, sử dụng 22 làm cổng từ xa. Ở bước cuối cùng, bạn sẽ phải thay thế nó bằng một giá trị khác mà bạn chọn (ví dụ: 34567)

lưu tệp và thoát.

Bước 9: Định cấu hình Rsync: Thực hiện đồng bộ hóa mỗi ngày một lần

Trong lời nhắc, hãy mở crontab:

sudo crontab -u pi -e

ở cuối tệp, thêm một cron:

0 1 * * * / usr / bin / bầy -xn /tmp/flocktmp.lock -c "/ home / pi / scripts / SB_sync"

Trong cron này, tập lệnh SB_sync sẽ được khởi chạy hàng ngày lúc 1:00 sáng. Chọn giờ bạn muốn, nhưng thay đổi nó giữa 2 máy, vì vậy 2 đồng bộ sẽ được thực hiện lần lượt.

Lưu và đóng tập tin.

Bước 10: Chuẩn bị Samba

Samba kết nối bộ lưu trữ linux với mạng windows.

Mở lời nhắc và cài đặt các gói:

sudo apt-get install samba samba-common-bin -y

Tự động hóa tài khoản "pi" để truy cập Samba:

sudo smbpasswd -a pi

Lưu tệp cấu hình Samba mặc định:

cp /etc/samba/smb.conf /etc/samba/smb.old

Mở tập tin:

sudo nano /etc/samba/smb.conf

Và ở cuối tệp, hãy thêm các dòng sau để định cấu hình ổ đĩa của bạn để chia sẻ:

[TÀI LIỆU LOIC]

bình luận = Đường dẫn NAS de loic = / media / pi / loic người dùng hợp lệ = @users force group = người dùng tạo mặt nạ = 0660 mặt nạ thư mục = 0775 chỉ đọc = không có thể duyệt = yes public = yes

Lưu tệp và thoát.

Bước 11: [Tùy chọn] Samba: Định cấu hình quyền truy cập đọc vào ổ đĩa mạng Vincent

Mở tệp cấu hình Samba:

sudo nano /etc/samba/smb.conf

Và ở cuối tệp, thêm các dòng này để định cấu hình ổ đĩa khác mà bạn muốn truy cập:

[TÀI LIỆU VINCENT]

comment = backup de vincent path = / media / pi / vincent valid users = @users force group = users create mask = 0660 directory mask = 0775 read only = yes browsable = yes public = yes

Lưu tệp và thoát.

Bước 12: [Tùy chọn] Samba: Truy cập vào Nhật ký

Mở tệp cấu hình Samba:

sudo nano /etc/samba/smb.conf

Và ở cuối tệp, thêm các dòng sau để truy cập từ cửa sổ vào trạng thái đồng bộ hóa:

[LOG SYNCHRO] comment = "nhật ký để đồng bộ hóa máy móc"

đường dẫn = / home / pi / SB_sync_logs / người dùng hợp lệ = @users force group = người dùng tạo mặt nạ = 0660 mặt nạ thư mục = 0771 chỉ đọc = có thể duyệt = có công khai = có

Lưu tệp và thoát.

Bước 13: [Tùy chọn] Samba: Ẩn Thư mục Vô dụng "/ home / pi"

Mở tệp cấu hình Samba:

sudo nano /etc/samba/smb.conf

Trong tệp, tìm các dòng sau và thêm ";" ở phần đầu để nhận xét nó:

; [nhà]

; comment = Thư mục Trang chủ; có thể duyệt = không; chỉ đọc = có; tạo mặt nạ = 0700; mặt nạ thư mục = 0700; người dùng hợp lệ =% S

Lưu tệp và thoát.

Bước 14: Truy cập vào Ổ đĩa mạng từ Windows

Truy cập vào Ổ đĩa mạng từ Windows
Truy cập vào Ổ đĩa mạng từ Windows

Từ máy tính Windows, hãy mở trình thám hiểm.

Nhấp vào "Mạng" và làm mới cửa sổ.

Một máy tính có tên Rapberry Pi của bạn sẽ xuất hiện.

Mở nó bằng tài khoản "pi" và mật khẩu của bạn.

Bạn sẽ thấy các thư mục được thêm trước đó trong tệp cấu hình Samba.

Bước 15: Chuẩn bị máy thứ 2

Máy thứ nhất của bạn đã được chuẩn bị.

Lặp lại các bước trước đó cho máy thứ 2, thay thế (ví dụ) "loic" bằng "vincent".

Sau khi 2 máy chuẩn bị xong, bạn sẽ cần trao đổi khóa ssh để cấp quyền truy cập giữa chúng, xem bước tiếp theo.

Bước 16: Tạo SSH giữa máy cục bộ và máy từ xa

Để đơn giản hóa việc chia sẻ khóa SSH, mỗi Raspberry Pi phải được kết nối với cùng một mạng ethernet.

Trên mỗi Raspberry Pi, mở lời nhắc trên màn hình Pi và nhập:

ssh-keygen -q -t rsa -b 2048 -N ''

ssh-copy-id pi @ IP_of_other_raspberry

Bước 17: Kiểm tra đồng bộ

Kiểm tra đồng bộ hóa
Kiểm tra đồng bộ hóa
Kiểm tra đồng bộ hóa
Kiểm tra đồng bộ hóa
Kiểm tra đồng bộ hóa
Kiểm tra đồng bộ hóa

2 máy của bạn đã sẵn sàng.

Bạn có thể kiểm tra quá trình đồng bộ hóa trên máy tính windows của mình:

  1. thêm tệp vào ổ đĩa mạng cục bộ của bạn (tức là / Rpi4-loic / Documents loic / test / test.txt),
  2. chạy tập lệnh trên máy tính để bàn Pi cục bộ của bạn (thực thi SB_sync trong / home / pi / scripts)
  3. kiểm tra xem tệp của bạn có xuất hiện trong ổ đĩa mạng sao lưu không (tức là / Rpi4-vincent / Documents loic / test / test.txt).

Bạn sẽ có thể đọc và ghi các tệp trong / Rpi4-loic / Documents loic / test \, nhưng chỉ đọc các tệp trong / Rpi4-vincent / Documents loic / test \.

Bước tiếp theo và cuối cùng là di chuyển máy "từ xa" vào bên trong mạng của một nơi khác, và định cấu hình kết nối giữa 2 bộ định tuyến thông qua internet.

Bước 18: Định cấu hình các tuyến Internet

Trong trường hợp của tôi, đối với máy cục bộ ở nhà, tôi đăng ký truy cập internet bao gồm một bộ định tuyến và một IP cố định.

Đối với máy từ xa, nhà cung cấp dịch vụ Internet cũng vậy, vì vậy cấu hình dễ dàng hơn và tôi không cần DNS.

Trong nhà của tôi:

  • Trong bộ định tuyến của mình, tôi tạo tuyến của cổng từ "remote_internet_fixed_IP" tại "port_34567" đến "my_raspberry_IP" tại cổng "22"
  • Trong mâm xôi của tôi, trong / home / pi / scripts / SB_sync, tôi thay thế giá trị "port_distant" "22" bằng "port_34567"

Ở một nơi xa:

  • Trong bộ định tuyến, tôi tạo tuyến của cổng từ "my_internet_fixed_IP" tại "port_34567" đến "my_raspberry_IP" tại cổng "22"
  • Trong mâm xôi từ xa, trong / home / pi / scripts / SB_sync, tôi thay thế giá trị "port_distant" "22" bằng "port_34567"

Đối với ứng dụng của bạn:

  • Bạn phải thay thế các IP và cổng_34567 của riêng mình.
  • Trong trường hợp IP internet động, bạn phải đăng ký một DNS.

Với sự giúp đỡ của chủ sở hữu mâm xôi từ xa, hãy lặp lại thử nghiệm của bước trước.

Hoàn thành!

Bước 19: Thư mục

Cài đặt Raspbian trên thẻ µSD

Tùy chỉnh thẻ µSD sau khi định dạng (SSH và WiFi)

Sử dụng Raspberry Pi của bạn

Raspberry Pi Sync với rysnc bằng feralhosting

Cổng SSH cụ thể cho Rsync

Cài đặt và sử dụng Samba

Đề xuất: