Panduan ini menjelaskan bagaimana Anda dapat mengatur target AoE dan inisiator AoE (klien), keduanya menjalankan CentOS 6.3. AoE adalah singkatan dari "ATA over Ethernet" dan merupakan protokol jaringan area penyimpanan (SAN) yang memungkinkan pemrakarsa AoE untuk menggunakan perangkat penyimpanan pada target AoE (jarak jauh) menggunakan kabel 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 inisiator AoE, penyimpanan jarak jauh terlihat seperti hard drive lokal yang terpasang normal.
1 Catatan Awal
Saya menggunakan dua server CentOS 6.3 di sini:
- server1.example.com (Inisiator):Alamat IP 192.168.0.100
- server2.example.com (Target):Alamat IP 192.168.0.101
2 Aktifkan Repositori Tambahan
server1/server2:
Pertama kita mengimpor kunci GPG untuk paket perangkat lunak:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Kemudian kami mengaktifkan repositori EPEL6 pada dua sistem CentOS kami:
rpm --import https://fedoraproject.org/static/0608B895.txt
cd /tmp
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
rpm -ivh epel-release-6-7.noarch.rpm
yum install yum-priorities
Edit /etc/yum.repos.d/epel.repo...
vi /etc/yum.repos.d/epel.repo
... dan tambahkan baris priority=10 ke bagian [epel]:
[epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |
Paket vblade hanya tersedia dari EPEL5 repositori, oleh karena itu kita harus menambahkan bagian berikut ke /etc/yum.repos.d/epel.repo, tetapi hanya di server2:
server2:
vi /etc/yum.repos.d/epel.repo
Pastikan untuk menggunakan priority=100 dan menonaktifkan pemeriksaan GPG dengan gpgcheck=0:
[...] [epel5] name=Extra Packages for Enterprise Linux 5 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/5/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-5&arch=$basearch failovermethod=priority enabled=1 priority=100 gpgcheck=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 |
3 Memuat Modul Kernel aoe Pada Kedua Sistem
server1/server2:
Sebelum kita mulai, kita harus memastikan bahwa kernel mendukung AoE:
grep ATA_OVER /boot/config-`uname -r`
Ini akan menampilkan sesuatu seperti ini:
[[email protected] ~]# grep ATA_OVER /boot/config-`uname -r`
CONFIG_ATA_OVER_ETH=m
[[email protected] ~]#
Ini berarti bahwa AoE dibangun sebagai modul kernel. Mari kita periksa 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
[[email protected] ~]# lsmod | grep aoe
aoe 26466 0
[[email protected] ~]#
Agar modul dimuat secara otomatis saat sistem melakukan boot, tambahkan baris berikut ke /etc/rc.local:
vi /etc/rc.local
[...] modprobe aoe [...] |
4 Menyiapkan Target (server2)
server2:
Pertama kita siapkan target (server2):
yum 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 membuat volume logis 20GB bernama storage1 di grup volume vg_server2:
lvcreate -L20G -n storage1 vg_server2
(Jika Anda ingin menggunakan file gambar, Anda dapat membuatnya sebagai berikut:
mkdir /storage
dd if=/dev/zero of=/storage/storage1.img bs=1024k count=20000
Ini membuat file gambar /storage/storage1.img dengan ukuran 20GB.
)
Sekarang kami mengekspor perangkat penyimpanan kami sebagai berikut:
vbladed 0 1 eth0 /dev/vg_server2/storage1
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...
vi /etc/rc.local
... dan tambahkan baris berikut ke dalamnya (setelah baris modprobe aoe!):
[...] vbladed 0 1 eth0 /dev/vg_server2/storage1 [...] |
5 Menyiapkan Inisiator (server1)
server1:
Di server1, kami menginstal inisiator:
yum install aoetools
Sekarang kami memeriksa perangkat penyimpanan AoE apa yang tersedia:
aoe-discover
Perintah
aoe-stat
sekarang harus menunjukkan perangkat penyimpanan:
[[email protected] ~]# aoe-stat
e0.1 21.474GB eth0 up
[[email protected] ~]#
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] ~]# ls -la /dev/etherd/
total 0
drwxr-xr-x. 2 root root 160 Dec 11 16:24 .
drwxr-xr-x. 20 root root 3620 Dec 11 16:00 ..
c-w--w----. 1 root disk 152, 3 Dec 11 16:00 discover
brw-rw----. 1 root disk 152, 16 Dec 11 16:24 e0.1
cr--r-----. 1 root disk 152, 2 Dec 11 16:00 err
c-w--w----. 1 root disk 152, 6 Dec 11 16:00 flush
c-w--w----. 1 root disk 152, 4 Dec 11 16:00 interfaces
c-w--w----. 1 root disk 152, 5 Dec 11 16:00 revalidate
[[email protected] ~]#
Untuk menggunakan perangkat itu, kita harus memformatnya:
fdisk /dev/etherd/e0.1
[[email protected] ~]# fdisk /dev/etherd/e0.1
Perangkat tidak berisi tabel partisi DOS yang valid, juga disklabel Sun, SGI, atau OSF
Membuat label disk DOS baru dengan pengidentifikasi disk 0xed572d .
Perubahan akan tetap di memori saja, sampai Anda memutuskan untuk menuliskannya.
Setelah itu, tentu saja, konten sebelumnya tidak dapat dipulihkan.
Jumlah silinder untuk disk ini disetel ke 2610.
Tidak ada yang salah dengan itu, tetapi ini lebih besar dari 1024, dan dalam pengaturan tertentu dapat menyebabkan masalah dengan:
1) perangkat lunak yang berjalan pada waktu boot (mis., LILO versi lama)
2) perangkat lunak booting dan partisi dari OS lain
(mis., DOS FDISK, OS/2 FDISK)
Peringatan: bendera tidak valid 0x0000 dari tabel partisi 4 akan dikoreksi dengan w(rite)
Command (m for help): <-- n
Command action
e extended
p partisi primer (1-4)
<-- p
Nomor partisi (1-4): <-- 1
Silinder pertama (1-2610, default 1): <-- ENTER
Menggunakan nilai default 1
Silinder terakhir, +silinder atau +ukuran{K,M,G} (1-2610, default 2610): <-- ENTER
Menggunakan nilai default 2610
Perintah (m untuk bantuan): <-- t
Partisi yang dipilih 1
Kode hex (ketik L untuk mencantumkan kode): <-- L
0 kosong 1e tersembunyi w95 fat1 80 old minix bf solaris
1 fat12 24 nec dos 81 minix/lin lama c1 drdos/dt /sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 80286 80286 PPC Prep Boot 85 Linux Extended DA Data Non-FS
6 FAT16 42 SFS 86 NTFS Volume Set DB CP/M/CTOS/.
7 HPFS/NTFS 4D QNX4.X 87 NTFS Volume Set Dell Dell Utility
8 AIX 4e QNX4.x bagian ke-2 88 Linux plaintext df BootIt
9 aix bootable 4f qnx4.x bagian 3rd 8e linux lvm e1 dos access
a os /2 boot manag 50 ontrack dm 93 amoeba e3 dos r /o
b w95 fat32 51 ontrack dm6 aux 94 amoeba BBT e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs
e W95 FAT16 (LBA) Ext'd (LBA) 54 Ontrackdm6 A5 Freebsd Ef Efi (Fat-12/16/
10 Opus 55 EZ-Drive A6 OpenBSD F0 Linux/Pa-Risc B
11 Hidden Fat12 56 Golden Bow A7 NextSpep F1 Speedstor
12 Compaq Diagnost 5c Priam Edisk A8 Darwin UFS F4 Speedstor
14 Hidden Fat16 <3 61 Speedstor A9 Netbsd F2 DOS Sekunder
16 Hidden16 63 GNU Hurd atau Sys AB Darwin Boot VMware VMFS
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netwa re b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep
1c Hidden Kode FAT3 BB L untuk mencantumkan kode): <-- 83
Command (m untuk bantuan): <-- w
Tabel partisi telah diubah!
Memanggil ioctl () untuk membaca ulang tabel partisi.
Menyinkronkan disk.
[[email protected] ~]#
Setelah itu, ada perangkat baru /dev/etherd/e0.1p1 yang dapat Anda lihat di output
ls -l /dev/etherd/
[[email protected] ~]# ls -l /dev/etherd/
total 0
c-w--w----. 1 root disk 152, 3 Dec 11 16:00 discover
brw-rw----. 1 root disk 152, 16 Dec 11 16:27 e0.1
brw-rw----. 1 root disk 152, 17 Dec 11 16:27 e0.1p1
cr--r-----. 1 root disk 152, 2 Dec 11 16:00 err
c-w--w----. 1 root disk 152, 6 Dec 11 16:00 flush
c-w--w----. 1 root disk 152, 4 Dec 11 16:00 interfaces
c-w--w----. 1 root disk 152, 5 Dec 11 16:00 revalidate
[[email protected] ~]#
Sekarang kita membuat sistem file di /dev/etherd/e0.1p1...
mkfs.ext4 /dev/etherd/e0.1p1
... dan pasang untuk tujuan pengujian:
mount /dev/etherd/e0.1p1 /mnt
Anda sekarang akan melihat perangkat baru di output...
mount
[[email protected] ~]# mount
/dev/mapper/vg_server1-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/etherd/e0.1p1 on /mnt type ext4 (rw)
[[email protected] ~]#
... dan
df -h
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server1-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
/dev/etherd/e0.1p1 20G 151M 19G 1% /mnt
[[email protected] ~]#
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:
vi /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...
vi /etc/rc.local
... dan tambahkan baris berikut ke dalamnya (setelah baris modprobe aoe!):
[...] aoe-discover sleep 5 mount -a [...] |
Untuk tujuan pengujian, Anda sekarang dapat mem-boot ulang sistem:
reboot
Setelah reboot, perangkat harus dipasang:
mount
[[email protected] ~]# mount
/dev/mapper/vg_server1-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/etherd/e0.1p1 on /storage type ext4 (rw,_netdev)
[[email protected] ~]#
df -h
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_server1-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
/dev/etherd/e0.1p1 20G 151M 19G 1% /mnt
[[email protected] ~]#
6 Tautan
- Definisi Protokol AoE:http://www.coraid.com/RESOURCES/AoE-Protocol-Definition
- CentOS:http://www.centos.org/