Elastic SAN 볼륨에 연결 - Linux
이 문서에서는 개별 Linux 클라이언트에서 탄력적 SAN(저장 영역 네트워크) 볼륨에 연결하는 방법을 설명합니다. Windows 클라이언트에서 연결에 대한 자세한 내용은 Elastic SAN 볼륨(Windows)에 연결을 참조하세요.
이 문서에서는 Storage 서비스 엔드포인트를 Azure 가상 네트워크의 서브넷에 추가한 다음, 서브넷의 연결을 허용하도록 볼륨 그룹을 구성합니다. 마지막으로 Elastic SAN 볼륨에 연결하고 연결을 설정하도록 클라이언트 환경을 구성합니다.
개별 탄력적 SAN 볼륨을 여러 클라이언트에 연결할 때는 클러스터 관리자를 사용해야 합니다. 자세한 내용은 Azure Elastic SAN에서 클러스터링된 애플리케이션 사용을 참조하세요.
필수 조건
- 최신 Azure CLI를 사용하거나 최신 Azure PowerShell 모듈을 설치해야 합니다.
- Elastic SAN 배포
- 가상 네트워크 엔드포인트 구성
- 가상 네트워크 규칙 구성
볼륨에 연결
클라이언트 환경 설정
iSCSI 초기자 사용
Linux 클라이언트에서 iSCSI 연결을 만들려면 iSCSI 초기자 패키지를 설치합니다. 정확한 명령은 배포에 따라 달라질 수 있으며, 필요한 경우 해당 설명서를 참조해야 합니다.
예를 들어 Ubuntu에서는 sudo apt install open-iscsi
를 사용하고 SLES(SUSE Linux Enterprise Server)에서는 sudo zypper install open-iscsi
를 사용하고 RHEL(Red Hat Enterprise Linux)에서는 sudo yum install iscsi-initiator-utils
를 사용합니다.
다중 경로 I/O 설치
볼륨에 대한 더 높은 IOPS 및 처리량을 달성하고 최대 한도에 도달하려면 애플리케이션의 멀티스레드 기능과 성능 요구 사항을 기반으로 iSCSI 초기자에서 대상 볼륨으로의 다중 세션을 만들어야 합니다. 이러한 여러 경로를 단일 디바이스로 통합하고 부하 분산 정책에 따라 사용 가능한 모든 경로에 I/O를 최적으로 분산하여 성능을 개선하려면 다중 경로 I/O가 필요합니다.
Linux 배포에 다중 경로 I/O 패키지를 설치합니다. 설치는 배포에 따라 다르며 해당 설명서를 참조해야 합니다. 예를 들어 Ubuntu에서 명령은 sudo apt install multipath-tools
이고, SLES에서 명령은 sudo zypper install multipath-tools
이며,RHEL에서 명령은 sudo yum install device-mapper-multipath
입니다.
패키지를 설치한 후에는 /etc/multipath.conf가 있는지 확인합니다. /etc/multipath.conf가 없는 경우 빈 파일을 만들고 다음 예제의 설정을 사용하여 일반 구성을 수행합니다. 예를 들어 mpathconf --enable
은 RHEL에 /etc/multipath.conf를 만듭니다.
/etc/multipath.conf를 일부 수정해야 합니다. 다음 예제에서 디바이스 섹션을 추가해야 하며 다음 예제의 기본값 섹션에는 몇 가지 기본값이 일반적으로 적용됩니다. 다중 경로 토폴로지에서 볼륨을 제외하는 것처럼 다른 특정 구성을 만들어야 하는 경우에는 multipath.conf의 설명서 페이지를 참조하세요.
defaults {
user_friendly_names yes # To create ‘mpathn’ names for multipath devices
path_grouping_policy multibus # To place all the paths in one priority group
path_selector "round-robin 0" # To use round robin algorithm to determine path for next I/O operation
failback immediate # For immediate failback to highest priority path group with active paths
no_path_retry 1 # To disable I/O queueing after retrying once when all paths are down
}
devices {
device {
vendor "MSFT"
product "Virtual HD"
}
}
파일을 만들거나 수정한 후 다중 경로 I/O를 다시 시작합니다. Ubuntu에서 명령은 sudo systemctl restart multipath-tools.service
이고, RHEL과 SLES에서 명령은 sudo systemctl restart multipathd
입니다.
클라이언트에 볼륨 연결
다음 스크립트를 사용하여 연결을 만들 수 있습니다. 이를 실행하려면 다음 매개 변수가 필요합니다.
- subscription: 구독 ID
- g: 리소스 그룹 이름
- e: 탄력적 SAN 이름
- v: 볼륨 그룹 이름
- n <vol1, vol2, ...>: 볼륨 1, 2의 이름과 필요할 수 있는 기타 볼륨 이름(쉼표로 구분)
- s: 각 볼륨에 대한 세션 수(기본적으로 32로 설정됨)
여기에서 스크립트를 복사하여 .py 파일(예: connect.py)로 저장합니다. 그런 다음 필수 매개 변수를 사용하여 실행합니다. 다음은 스크립트를 실행하는 방법의 예입니다.
./connect.py --subscription <subid> -g <rgname> -e <esanname> -v <vgname> -n <vol1, vol2> -s 32
sudo multipath -ll
를 사용하여 세션 수를 확인할 수 있습니다.
세션 수
최대 IOPS 및/또는 처리량 한도를 달성하려면 각 대상 볼륨에 대해 32개의 세션을 사용해야 합니다.