웹사이트 검색

CentOS 7(초기자 및 대상)에서 AoE(ATA Over Ethernet) 사용


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 센트OS 7.2
  • 센트OS 6.3

이 페이지에서

  1. 1 서문
  2. 2 추가 저장소 활성화\n
  3. 3 두 시스템 모두에 AoE 커널 모듈 로드
  4. 4 서버 2에서 서버(대상) 설정
  5. 5 서버 1에서 클라이언트(이니시에이터) 설정
  6. 6개의 링크

이 안내서는 CentOS 7을 실행하는 AoE 대상 및 AoE 초기자(클라이언트)를 설정하는 방법을 설명합니다. AoE는 "ATA over Ethernet"을 의미하며 AoE 초기자가 사용할 수 있는 SAN(Storage Area Network) 프로토콜입니다. 일반 이더넷 케이블 연결을 사용하여 (원격) AoE 대상의 저장 장치. 이 경우 "원격"은 "동일한 LAN 내부"를 의미합니다. AoE는 LAN 외부에서 라우팅할 수 없기 때문입니다(이는 iSCSI와 비교했을 때 큰 차이점입니다). AoE 개시자에게 원격 저장소는 로컬로 연결된 일반 하드 드라이브처럼 보입니다.

1 서문

여기에서 두 개의 CentOS 7 서버를 사용하고 있습니다.

  • server1.example.com(이니시에이터): IP 주소 192.168.1.100
  • server2.example.com(대상): IP 주소 192.168.1.101

2 추가 리포지토리 활성화

서버1/서버2:

먼저 소프트웨어 패키지의 GPG 키를 가져옵니다.

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*

그런 다음 이 튜토리얼 과정에서 설치할 많은 패키지가 공식 CentOS 7 리포지토리에서 사용할 수 없으므로 CentOS 시스템에서 EPEL 리포지토리를 활성화합니다.

yum -y install epel-release
yum -y install yum-priorities

편집 /etc/yum.repos.d/epel.repo...

nano /etc/yum.repos.d/epel.repo

... 그리고 [epel] 섹션에 priority=10 행을 추가합니다.

[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[...]

그런 다음 시스템에서 기존 패키지를 업데이트합니다.

yum -y update

3 두 시스템 모두에 AoE 커널 모듈 로드

시작하기 전에 커널이 AoE를 지원하는지 확인해야 합니다.

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

다음과 같이 표시되어야 합니다.

[ ~]#

이는 AoE가 커널 모듈로 구축되었음을 의미합니다. 모듈이 이미 로드되었는지 확인합니다.

lsmod | grep aoe

아무 것도 돌려받지 못한다면 로드되지 않은 것입니다. 이 경우 다음과 같이 로드할 수 있습니다.

modprobe aoe

모듈이 로드되었는지 다시 확인합니다.

lsmod | grep aoe
[ ~]#

시스템 부팅 시 모듈이 자동으로 로드되도록 하려면 /etc/rc.local에 다음 줄을 추가합니다.

nano /etc/rc.local
[...]
modprobe aoe
[...]

4 서버 2에 서버(대상) 설정

먼저 대상(server2)을 설정합니다.

rpm -i http://download.opensuse.org/repositories/home:/cyberorg:/ltsp/CentOS_7/x86_64/vblade-22-3.1.x86_64.rpm

사용하지 않는 논리 볼륨, 이미지 파일, 하드 드라이브(예: /dev/sdb), 하드 드라이브 파티션(예: /dev/sdb1) 또는 RAID 장치(예: /dev/md0)를 스토리지에 사용할 수 있습니다.

이 예에서는 저장소 폴더 /storage에 있는 10GB의 이미지 파일을 사용합니다.

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

이렇게 하면 10GB 크기의 이미지 파일 /storage/storage1.img가 생성됩니다.

대신 논리 볼륨을 사용하려면 다음과 같이 vg0 볼륨 그룹에 storage1이라는 이름의 10GB 크기 볼륨을 생성할 수 있습니다.

lvcreate -L10G -n storage1 vg0

이제 다음과 같이 저장 장치를 내보냅니다.

vbladed 0 1 ens33 /storage/storage1.img

첫 번째 숫자(0)는 선반 번호(major)이고 두 번째(1)는 슬롯 번호(minor)입니다. 이 숫자를 원하는 대로 변경하십시오. 각 AoE 장치는 0-65535 사이의 주와 0-255 사이의 부와 함께 고유해야 하는 몇 개의 주/부로 식별됩니다(여러 장치를 내보내는 경우). ens33 부분은 사용할 이더넷 장치를 vbladed에 알려줍니다. 다음을 실행하여 이더넷 장치에 대한 세부 정보를 찾을 수 있습니다.

ifconfig

).

대상을 부팅할 때마다 자동으로 내보내기를 시작하려면 /etc/rc.local...을 엽니다.

nano /etc/rc.local

... 그리고 다음 줄을 추가합니다(modprobe aoe 줄 뒤에!).

[...]
vbladed 0 1 ens33 /storage/storage1.img
[...]

5 서버 1에서 클라이언트(이니시에이터) 설정

server1에 이니시에이터를 설치합니다. 사용 가능한 CentOS 7용 패키지는 없지만 centOS 6의 패키지가 제대로 작동하므로 여기에서 사용하겠습니다.

rpm -i http://download.opensuse.org/repositories/system:/aoetools/CentOS_CentOS-6/x86_64/aoetools-36-1.2.x86_64.rpm

이제 사용 가능한 AoE 저장 장치를 확인합니다.

aoe-discover

명령

aoe-stat

이제 저장 장치가 표시되어야 합니다.

[ ~]#

이 시점에서 /dev/etherd/e0.1이라는 클라이언트 상자에서 사용할 수 있는 새 블록 장치가 있습니다. /dev 트리를 보면 새 노드가 나타납니다.

ls -la /dev/etherd/
[ ~]#

해당 장치를 사용하려면 다음과 같이 포맷해야 합니다.

fdisk /dev/etherd/e0.1
[ ~]#

그 후, 출력에서 볼 수 있는 새 장치 /dev/etherd/e0.1p1이 있습니다.

ls -l /dev/etherd/
[ ~]#

이제 /dev/etherd/e0.1p1에 파일 시스템을 생성합니다...

mkfs.ext4 /dev/etherd/e0.1p1

... 테스트 목적으로 마운트하십시오.

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

이제 출력에서 새 장치를 볼 수 있습니다...

mount
[ ~]#

... 그리고

df -h
[ ~]#

다음과 같이 마운트 해제할 수 있습니다.

umount /mnt

부팅 시 장치를 자동으로 마운트하려면, 예를 들어 /storage 디렉토리에 해당 디렉토리를 생성합니다...

mkdir /storage

... 그리고 /etc/fstab에 다음 줄을 추가합니다.

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

/etc/fstab을 읽은 후에 AoE 항목이 로드되기 때문에 이것만으로는 부팅 시 장치를 마운트하기에 충분하지 않습니다. 따라서 /etc/rc.local...을 엽니다.

nano /etc/rc.local

... 그리고 다음 줄을 추가합니다(modprobe aoe 줄 뒤에!).

[...]
aoe-discover
sleep 5
mount -a
[...]

테스트 목적으로 이제 시스템을 재부팅할 수 있습니다.

reboot

재부팅 후 장치를 마운트해야 합니다.

mount
[ ~]#
df -h
[ ~]#

6 링크

  • AoE 프로토콜 정의: http://www.coraid.com/RESOURCES/AoE-Protocol-Definition\n
  • CentOS: http://www.centos.org/