GNU/Linux >> Belajar Linux >  >> Debian

Setup ATA over Ethernet (AoE) pada Debian 8 (Inisiator dan Target)

Tutorial ini menunjukkan cara men-setup klien AoE (inisiator) dan server (target) di Debian 8 /Jessie). Istilah AoE adalah singkatan dari "ATA over Ethernet" yang merupakan protokol jaringan area penyimpanan (SAN) yang memungkinkan klien AoE menggunakan perangkat penyimpanan di server AoE (jarak jauh) melalui jaringan ethernet normal. "Jarak jauh" dalam hal ini berarti "di dalam LAN yang sama" karena AoE tidak dapat dirutekan di luar LAN (ini adalah perbedaan utama dibandingkan dengan iSCSI). Untuk klien AoE (inisiator), penyimpanan jarak jauh terlihat seperti hard drive lokal yang terpasang normal.

1 Catatan Awal

Saya menggunakan dua server Debian 8 di sini:

  • server1.example.com (Inisiator):Alamat IP 192.168.1.100
  • server2.example.com (Target):Alamat IP 192.168.1.101

2 Muat Modul Kernel AoE di kedua sistem

server1/server2:

Sebagai langkah pertama, kami harus memastikan bahwa Kernel di server kami mendukung ATA Over Ethernet. Jalankan perintah berikut sebagai pengguna root.

grep ATA_OVER /boot/config-`uname -r`

Ini akan menampilkan sesuatu seperti ini:

[email protected]:/tmp# grep ATA_OVER /boot/config-`uname -r`
CONFIG_ATA_OVER_ETH=m
[email protected]:/tmp#

Ini berarti bahwa AoE dibangun sebagai modul kernel. Sekarang kita akan memeriksa apakah modul sudah dimuat:

lsmod | grep aoe

Jika Anda tidak mendapatkan apa-apa kembali, ini berarti tidak dimuat. Dalam hal ini, kita dapat memuatnya sebagai berikut:

modprobe aoe

Mari kita periksa lagi apakah modul sudah dimuat:

lsmod | grep aoe
[dilindungi email]:/tmp# lsmod | grep aoe
aoe 51917 0
[email protected]:/tmp#

Agar modul dimuat secara otomatis saat sistem melakukan boot, kami menambahkan modul aoe ke /etc/modules:

nano /etc/modules
# /etc/modules:modul kernel untuk dimuat saat boot.## File ini berisi nama modul kernel yang harus dimuat# pada saat boot, satu per baris. Baris yang diawali dengan "#" diabaikan.# Parameter dapat ditentukan setelah nama modul.aoe

3 Menyiapkan Target (server2)

server2:

Pertama, kita siapkan target AoE (server2):

apt-get install vblade

Kita dapat menggunakan volume logis yang tidak digunakan, file gambar, hard drive (misalnya /dev/sdb), partisi hard drive (misalnya /dev/sdb1) atau perangkat RAID (misalnya /dev/md0) untuk penyimpanan. Dalam contoh ini, saya akan menggunakan file gambar 20GB yang disimpan di folder /storage.

mkdir /storage
dd if=/dev/zero of=/storage/storage1.img bs=1024k count=20000

Ini membuat file gambar /storage/storage1.img dengan ukuran 20GB.

Jika Anda ingin menggunakan volume logis, Anda dapat membuatnya dengan ukuran 20 GB bernama storage1 di grup volume vg0 seperti ini:

lvcreate -L20G -n storage1 vg0

Sekarang kami mengekspor perangkat penyimpanan kami sebagai berikut:

vbladed 0 1 eth0 /storage/storage1.img

Angka pertama (0) adalah nomor rak (mayor), yang kedua (1) nomor slot (minor), ubah angka ini sesuai keinginan Anda. Setiap perangkat AoE diidentifikasi oleh pasangan mayor/minor yang harus unik (jika Anda mengekspor beberapa perangkat), dengan mayor antara 0-65535 dan minor antara 0-255. Bagian eth0 memberi tahu vbladed perangkat ethernet mana yang akan digunakan (jika perangkat ethernet Anda adalah eth1, maka gunakan eth1 - Anda dapat mengetahui tentang perangkat ethernet Anda dengan menjalankan

ifconfig

).

Untuk memulai ekspor secara otomatis setiap kali Anda mem-boot target, buka /etc/rc.local...

nano /etc/rc.local

... dan tambahkan baris berikut ke dalamnya (sebelum baris exit 0):

[...]/usr/sbin/vbladed 0 1 eth0 /storage/storage1.img[...]

4 Menyiapkan Klien / Inisiator AoE (server1)

server1:

Di server1, kami menginstal inisiator:

apt-get install aoetools

Sekarang kami memeriksa perangkat penyimpanan AoE apa yang tersedia:

aoe-discover

Jangan khawatir, perintah tidak akan menampilkan output apa pun. Perintahnya:

aoe-stat

sekarang harus menunjukkan perangkat penyimpanan:

[email protected]:/tmp# aoe-stat
e0.1 20,971GB eth0 1024 up
[email protected]:/tmp#

Pada titik ini kami memiliki perangkat blok baru yang tersedia di kotak klien bernama /dev/etherd/e0.1. Jika kita melihat pada pohon /dev, sebuah node baru muncul:

ls -la /dev/etherd/
[email protected]:/tmp# ls -la /dev/etherd/
total 0
drwxr-xr-x 2 root root 160 22 Mar 08:46 .
drwxr- xr-x 19 root root 3160 22 Mar 08:34 ..
c-w--w---- 1 root disk 152, 3 22 Mar 08:34 temukan
brw-rw---- 1 root disk 152, 0 22 Mar 08:46 e0.1
cr--r----- 1 root disk 152, 2 22 Mar 08:34 err
c-w--w---- 1 root disk 152, 6 22 Mar 08:34 flush
c-w--w---- 1 root disk 152, 4 22 Mar 08:34 antarmuka
c-w--w---- 1 root disk 152, 5 Mar 22 08:34 validasi ulang
[email protected]:/tmp#

Untuk menggunakan perangkat /dev/etherd/e0.1 itu, kita harus memformatnya:

fdisk /dev/etherd/e0.1
[email protected]:/tmp# fdisk /dev/etherd/e0.1
Selamat datang di fdisk (util-linux 2.25.2).
Perubahan hanya akan disimpan di memori, sampai Anda memutuskan untuk menulisnya.
Berhati-hatilah sebelum menggunakan perintah tulis.
Perangkat tidak berisi tabel partisi yang dikenali.
Membuat label disk DOS baru dengan pengenal disk 0x2922f0be.
Perintah (m untuk bantuan):<-- n
Tipe partisi
p primer (0 primer, 0 diperpanjang, 4 gratis)
e diperpanjang (wadah untuk partisi logis)
Pilih (default p):<-- p
Nomor partisi (1-4, default 1):<-- 1
Sektor pertama (2048-40959999, default 2048):<-- ENTER
Sektor terakhir, +sektor atau +ukuran{K,M,G,T,P} (2048-40959999, default 40959999): <-- ENTER
Membuat partisi baru 1 jenis 'Linux' dan ukuran 19.5 GiB.
Perintah (m untuk bantuan):<-- w
Tabel partisi telah diubah.
Memanggil ioctl() untuk membaca ulang tabel partisi.
Menyinkronkan disk.

Sekarang kita membuat sistem file di /dev/etherd/e0.1p1...

mkfs.ext4 /dev/etherd/e0.1p1
[email protected]:/tmp# mkfs.ext4 /dev/etherd/e0.1p1
mke2fs 1.42.12 (29-Aug-2014)
Membuat sistem file dengan 5119744 blok 4k dan 1281120 inode
UUID Sistem File:2342cd83-bd45-4975-96c0-b0f366b73778
Cadangan superblok disimpan di blok:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Mengalokasikan tabel grup:selesai
Menulis tabel inode:selesai
Membuat jurnal (32768 blok):selesai
Menulis superblok dan informasi akuntansi sistem file:selesai

... dan pasang untuk tujuan pengujian:

mount /dev/etherd/e0.1p1 /mnt

Anda sekarang akan melihat perangkat baru di output...

pasang
[email protected]:/tmp# mount
sysfs di /sys ketik sysfs (rw,nosuid,nodev,noexec,relatime)
proc di /proc ketik proc (rw,nosuid,nodev, noexec,relatime)
udev pada /dev ketik devtmpfs (rw,relatime,size=10240k,nr_inodes=125556,mode=755)
devpts pada /dev/pts ketik devpts (rw,nosuid,noexec, relatime,gid=5,mode=620,ptmxmode=000)
tmpfs aktif /jalankan ketik tmpfs (rw,nosuid,relatime,size=204220k,mode=755)
/dev/sda1 aktif / ketik ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs pada /sys/kernel/jenis keamanan securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs pada /dev/ shm ketik tmpfs (rw,nosuid,nodev)
tmpfs aktif /run/lock ketik tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs pada /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup pada /sys/fs/cgroup/systemd ketik cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/ systemd-cgroups-agent,name=systemd)
pstore di /sys/fs/pstore ketik pstore (rw,nosuid,nodev,noexec, relatime)
cgroup pada /sys/fs/cgroup/cpuset jenis cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup pada /sys/fs/cgroup/cpu,cpuacct jenis cgroup ( rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup pada /sys/fs/cgroup/devices ketik cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on / sys/fs/cgroup/freezer jenis cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup pada /sys/fs/cgroup/net_cls,net_prio ketik cgroup (rw,nosuid,nodev,noexec,relatime ,net_cls,net_prio)
cgroup di /sys/fs/cgroup/blkio ketik cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup di /sys/fs/cgroup/perf_event ketik cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
systemd-1 pada /proc/sys/fs/binfmt_misc ketik autofs (rw,relatime,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,langsung)
mqueue aktif /dev/mqueue ketik mqueue (rw,relatime)
debug pada /sys/kernel/debug ketik debugfs (rw,relatime)
hugetlbfs aktif /dev/hugepages ketik hugetlbfs (rw,relatime)
rpc_pipefs pada /r un/rpc_pipefs ketik rpc_pipefs (rw,relatime)
/dev/etherd/e0.1p1 pada /mnt ketik ext4 (rw,relatime,data=ordered)
[email protected]:/tmp#

... dan

df -h
[email protected]:/tmp# df -h
Ukuran Sistem File Digunakan Tersedia Penggunaan% Dipasang di
/dev/sda1 57G 1.1G 54G 2% /
udev 10M 0 10M 0 % /dev
tmpfs 200M 4.6M 195M 3% /run
tmpfs 499M 0 499M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 499M 0 499M 0% /sys/fs/cgroup
/dev/etherd/e0.1p1 20G 44M 19G 1% /mnt
[email protected]:/tmp#

Anda dapat melepasnya seperti ini:

umount /mnt

Agar perangkat dipasang secara otomatis saat boot, mis. di direktori /storage, kita buat direktori itu...

mkdir /storage

... dan tambahkan baris berikut ke /etc/fstab:

nano /etc/fstab
[...]/dev/etherd/e0.1p1 /storage ext4 defaults,auto,_netdev 0 0

Ini saja tidak cukup untuk memasang perangkat pada saat boot karena hal-hal AoE dimuat setelah /etc/fstab dibaca. Oleh karena itu kami membuka /etc/rc.local...

nano /etc/rc.local

... dan tambahkan baris berikut ke dalamnya (sebelum baris exit 0):

[...]aoe-discoversleep 5mount -a[...]

Untuk tujuan pengujian, Anda sekarang dapat mem-boot ulang sistem:

boot ulang

Setelah reboot, perangkat harus dipasang:

pasang
[email protected]:/tmp# mount
[...snip...]
/dev/etherd/e0.1p1 pada /storage type ext4 (rw,relatime,data=ordered )
[...snip...]
df -h
[email protected]:/tmp# df -h
Ukuran Sistem File Digunakan Tersedia Penggunaan% Dipasang di
/dev/sda1 57G 1.1G 54G 2% /
udev 10M 0 10M 0 % /dev
tmpfs 200M 4.6M 195M 3% /run
tmpfs 499M 0 499M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 499M 0 499M 0% /sys/fs/cgroup
/dev/etherd/e0.1p1 20G 44M 19G 1% /storage

Sekarang kita dapat melakukan uji tulis pada partisi yang di-mount:

sentuh /storage/test.txt

Periksa dengan perintah ls jika file telah ditulis:

ls -la /storage
[email protected]:/tmp# ls -la /storage
total 24
drwxr-xr-x 3 root root 4096 22 Mar 09:06 .
drwxr-xr-x 23 root root 4096 22 Mar 09:05 ..
drwx------ 2 root root 16384 22 Mar 09:00 hilang+ditemukan
-rw-r--r-- 1 root root 0 Mar 22 09:06 test.txt
[email protected]:/tmp#

File test.txt telah berhasil ditulis pada volume yang kita mount dari server2.

  • Definisi Protokol AoE:http://www.coraid.com/RESOURCES/AoE-Protocol-Definition
  • Debian:http://www.debian.org/

Debian
  1. Cara menginstal dan mengatur Debian 8 Docker Host minimalis

  2. Cara mengatur wadah virtual dengan LXC dan dukungan kuota di Debian 8

  3. Cara Setup Server Rsyslog di Debian 11

  1. Setup Apache dan Php dengan mod_fcgid di Ubuntu/Debian

  2. Skrip pengaturan OpenVPN untuk Debian dan Ubuntu

  3. Instal dan atur SpamAssassin di Debian 6 (Squeeze)

  1. Cara Setup NTP Server dan Client di Debian 9 Stretch Linux

  2. Menggunakan ATA Over Ethernet (AoE) pada CentOS 7 (Inisiator dan Target)

  3. Cara mengatur server surat dengan Exim4 dan DBMail di Debian 7 VPS