2024-10-02(WED)
(1) 금일 진행
- Storage 구성 및 추가 작업
- NFS 이론 및 구성
- vCenter Server부터 iSCSI Storage & NFS Configuration
01. 전일 내용 - vCenter Server Inventory Configuration
01-1. Host & Cluster
(1) Data Center 생성
(2) 디렉터리 생성
01-2. Virtual Machine & Template
(1) VM Directory 생성
(2) Template Directory 생성
01-3. Storage
(1) ESXi 호스트 생성 시 - esxi-01-hdd라는 이름으로 지정해서 생성
01-4. Network
(1) Storage 전용 VMKernel 포트를 생성
- VMKernel : VMWare 솔루션에서 특정 작업을 수행하기 위해 설계된 전용 네트워크 인터페이스
02. 전일 내용 - Network Configuration
02-1. Standard Switch : ESXi 호스트에서 생성되는 Switch를 의미
(1) VM Port Group
- VM들을 연결하는 역할
(2) VM Kernel Port
- VMKernel이 동작하기 위한 포트, 특별한 작업 수행을 위해 포트 연결 진행
- Management, iSCSI, NFS, vMotion, HA, DRS 포트 등이 있으며 각 VMkernel 포트는 특정 기능에 최적화되어 있으며, 네트워크 성능과 보안을 고려하여 적절히 구성해야 한다.
(3) Up-Link Port
- NIC 포트를 의미한다. (네트워크 카드가 연결된 포트)
02-2. Distributed Switch
(1) 데이터 센터 내 여러 ESXi 호스트에서 네트워크 관리를 중앙 집중화할 수 있는 가상 네트워크 스위치
02-3. VLAN Configuration
(1) VLAN 설정 3가지
- Port Group에서 VLAN 설정
- 물리적 Switch VLAN 설정
- 서버와 ESXi 호스트에서 VLAN 설정
(2) Port Group에 VLAN을 설정하면 어떻게 동작하는지?
- 패킷에 VLAN Tag가 지정된다. (가상 머신 패킷이 가상 스위치를 빠져 나갈 때 지정된다.)
- 패킷에 VLAN Tag가 사라진다. (가상 머신 패킷이 가상 머신으로 복귀하면 사라진다.)
(3) VLAN Number : 1~4094까지 지정 가능, 4095는 모든 VLAN 허용
02-4. Network Policy
(1) Security
- Promiscuous mode : NIC에서 사용하는 설정으로, 해당 NIC가 수신하는 모든 패킷을 필터링 없이 처리하도록 설정할 수 있는 옵션이다. (VMware와 같은 가상화 플랫폼에서 가상 머신이 서로의 트래픽을 감시하거나 통신할 수 있도록 설정할 때 사용)
- MAC Address Change : NIC의 물리적 주소인 MAC 주소를 변경할 수 있는 옵션
- Forged Transmits : 가상 스위치에서 사용하는 설정 중 하나로, 가상 머신이 전송하는 네트워크 패킷의 출발지 MAC 주소를 변경할 수 있도록 허용하는 기능
(2) Traffic Control
- 평균 또는 최대 대역폭, 버스트 값을 설정할 수 있다.
(3) NIC Teaming
- 여러 NIC 인터페이스 카드를 하나의 논리적 인터페이스로 묶어주는 기술을 의미한다.
- 네트워크 성능 튜닝(향상), 대역폭 증가, 부하 분산 등의 장점을 가져올 수 있다.
02-5. Storage Configuration
(1) 스토리지 기술(Storage Technology) - Direct Connect, FC, FCoE, iSCSi, NFS, NAS
(2) 데이터 스토어 유형 : VMFS, NFS
(3) VM 전용 파일 시스템(VMFS) 생성 : 공유 스토리지에 ESXi 호스트 간 동시 접속을 허용한다. (고가용성 부하 분산 이점)
- VMFS 버전의 경우 현재 기준 VMFSv5, VMFSv6이 존재한다.
- 동적 확장이 가능한 구조를 갖는다.
(4) RDM(Row Disk Mapping) : VMware에서 가상 머신이 물리적 디스크에 직접 액세스할 수 있도록 해주는 기술
- 주로 SAN(Storage Area Network) 환경에서 사용된다.
(5) SCSI: iSCSI는 인터넷을 통해 SCSI 명령을 전송하는 프로토콜로, 저장 장치에 대한 원거리 액세스를 허용한다.
(6) 호스트 (Host): iSCSI 환경에서 호스트는 iSCSI 스토리지에 연결되는 서버 또는 컴퓨터를 의미한다. 이 호스트는 iSCSI 드라이버를 통해 스토리지와 통신한다.
(7) HAB (High Availability Block): 고가용성 블록 저장소를 의미한다. 즉, 시스템이나 서비스가 중단되지 않도록 여러 경로 또는 장비를 활용하는 기술이다.
(7) 스토리지 전용 네트워크 카드: iSCSI 트래픽을 처리하기 위해 특별히 설계된 네트워크 카드로, 데이터 전송을 최적화하고 성능 향상의 이점이 있다.
(8) iSCSI 드라이버: iSCSI 호스트와 스토리지 장치 간의 통신을 가능하게 해주는 소프트웨어입니다. 이 드라이버가 있어야 호스트가 iSCSI 스토리지에 접근할 수 있다.
(9) 스토리지 통신의 경우 TCP/IP망을 사용한다.
(10) 스토리지 (Storage): 데이터 저장을 위한 시스템 또는 장치. 일반적으로 하드 드라이브, SSD 등이 포함
(11) 물리적 디스크 (Physical Disk): 실제로 데이터를 저장하는 하드웨어 장치.
(12) LUN (Logical Unit Number): 물리적 디스크를 논리적으로 분할한 단위. LUN은 스토리지 시스템에서 특정한 데이터 블록이나 볼륨을 식별하는 데 사용됩니다. 여러 개의 물리적 디스크를 묶어서 LUN으로 설정하면, 사용자나 애플리케이션은 이 LUN을 하나의 논리적인 디스크처럼 사용할 수 있다.
(13) 프로세서 (Processor): 스토리지 시스템에서 외부 요청을 받아서 디스크의 읽기 및 쓰기 작업을 수행하는 구성 요소, 이 프로세서는 데이터 요청을 처리하고, 필요한 작업을 물리적 디스크에 전달하는 역할을 한다.
(14) SP (Storage Processor): 스토리지 시스템에서 데이터 관리를 담당하는 프로세서. SP는 데이터 전송, 오류 처리, RAID 구성, LUN 관리 등 여러 가지 기능을 수행하며, 전체 스토리지 시스템의 성능과 효율성을 최적화하는 역할을 한다.
02-6. FreeNAS : 전일 작업(스토리지, ESXi 호스트가 직접적으로 통신하기 위한 과정)
(1) IMAGE 설치 - OS : 10GB, 데이터 저장용 : 300GB, Thin Provisioning Checked
(2) Management IPv4 설정 : 192.168.100.40
(3) ESXi 호스트와 연결 - IPv4 : 192.168.13.11 (실질적인 통신)
(4) FreeNAS 접속
- ESXi 호스트 연결 / IP Setting(Storage VMKernel 전용), 통신 MTU : 9000
(5) 스토리지 Pool 생성 : 물리적 디스크가 여러 개인 경우 이 부분들을 하나로 묶어서 논리적인 저장 공간을 생성하는 과정
- 여러 개의 디스크를 묶는 작업
(6) iSCSI 설정 : Running, Start Automatically 두 개의 상태 Enable, 디스크 볼륨 생성(vol-1:50G, vol-2:200G)
(7) ESXi 호스트 작업 : Network Setting
- ESXi 호스트 환경에서 물리적 네트워크 인터페이스를 추가한다. 이후 DCUI Console에서 Port ENABLE
- 가상 스위치 생성 : 통신을 위한 VMKernel 생성(iSCSI 전용), IP 할당(192.168.100.52, 192.168.100.53), MTU Size 설정 및 보안 옵션 모두 허용, 주소 할당 이후 Ping Test
- S/W Adapter 추가
- 네트워크 포트 바인딩
- VMKernel 포트에 연결
- 주소 동적 검색 : 스토리지와 직접적인 연결 작업을 수행한 것
(해당 작업까지 수행하면 FreeNAS Volume이 나타난다.)
- ESXi 호스트에서 인식할 수 있는 스토리지를 생성한다.(VMFS6 버전 체크, 스토리지 이름 : iSCSI-Share-01, 02)
1. NAS(Network Attached Storage) & NFS(Network File System) Storage Configuration
1-1. NFS 구성 요소
(1) NAS(Network Attached Storage)
- NAS는 파일 저장을 위한 전용 장비로, 네트워크를 통해 여러 클라이언트가 접근할 수 있도록 설계된 스토리지 시스템을 의미한다.
(2) NFS(Network File System)
- 네트워크를 통해 파일 시스템을 공유하고 액세스할 수 있게 해주는 프로토콜
(3) 이러한 NAS & NFS를 기반으로 하는 스토리지 구성의 경우 네트워크 통신을 통해 파일 저장 및 공유를 효율적으로 관리하는 시스템을 구축하는 것을 의미한다.
1-2. NFS에서의 주소 지정
1-3. NFS 데이터 스토어 구성
(1) VMKernel 포트 생성 (성능 향상 목적)
(2) 제공할 정보
- NFS 서버 이름(또는 IP 주소)
- NFS 서버의 폴더(Ex : /LUN1, /LUN2)
- 데이터 스토어를 생성하는 호스트
- NFS 파일 시스템 읽기 전용 마운트 여부(기본값은 READ/WRITE로 마운트하는 것)
- NFS 데이터 스토어 이름
(3) 데이터 스토어에 액세스 할 각 ESXi 호스트에서 구성한다.
1-4. 다중 경로 및 NFS 스토리지(이중화 관점)
(1) NFS 다중 경로를 지정하기 위한 한 가지 권장되는 구성
(2) 1개의 VMKernel 포트를 구성한다.
(3) 동일한 물리적 스위치에 연결된 어댑터를 연결해서 NIC 티밍을 구성한다.
(4) 여러 IP 주소로 NFS 서버를 구성한다.
- 동일한 서브넷에 여러 IP 주소가 존재할 수 있다.
(5) 다중 링크를 사용하려면 IP 해시 로드 밸런싱 정책을 사용해서 NIC 그룹을 구성한다.
2. NFS Storage Configuration LAB (vCenter Server ~ iSCSI까지 재구성)
2-1. Ubuntu 환경에서의 작업을 위한 VM 생성 / 디스크 마운트까지 진행 (방법 한 번 더 정리)
(1) 위와 같이 가상 머신을 생성한다.
(2) 운영체제 설치를 위한 디스크를 별도로 두고 나머지는 데이터를 위한 디스크를 할당한다.
(3) 가상 머신을 만들고 부팅한다.
(4) 앞서 설정한 OS 전용 하드 디스크를 선택한다.
(5) 유저 정보 / 로그온 패스워드를 지정한다.
(6) 모든 내용을 확인하면 설치가 진행된다.
(7) 설치 완료 후 재부팅한다.
(8) 이후 마운트 작업을 해야 하는데, 마운팅이 잘못 되면 부팅이 되지 않으니 미리 Snapshot을 생성한 상태에서 작업한다.
(10) 해당 가상 머신에 위와 같은 주소 대역을 할당한다.
- 192.168.100.39 / 255.255.255.0 / 192.168.100.1 (Default Gateway)
(11) mkdir /share 커맨드로 해당 홈 디렉터리를 기준으로 /share 디렉터리를 생성한다.
(12) 작업 편의성을 위해 sudo -su root 명령으로 관리자 권한으로 접속한다.
(13) 위와 같은 fdisk 명령을 기준으로 /dev/sdb 디스크를 파티션으로 생성한다.
- fdisk /dev/sdb → n → p → Enter → Enter → Enter → p
(13) 마지막은 w 버튼을 눌러 변경 사항을 저장하고 빠져나온다.
(14) ls - l /dev/sd* 명령으로 /dev/sdb에 대한 파티션 /dev/sdb1이 생성된 것을 확인할 수 있다.
(15) 생성된 파티션을 mkfs.ext4 /dev/sdb1 명령으로 포맷한다.
(16) 이후 생성된 /share를 기준으로 /dev/sdb1 파티션을 마운트한다 (mount /dev/sdb1 /share)
- 이전 리눅스, 서버 마운트 방법 포스팅에서 작성했던 cp /boot/vmlinuz~는 진행하지 않는다.
(17) 현재 포스팅에선 생략되었지만, nano /etc/fstab으로 마운트된 내역을 추가해줘야 한다. 현재는 cat 명령으로 추가한 내용을 출력해 주었다. (재부팅 이후에도 마운트 내역을 유지하기 위한 목적)
(18) 재부팅 이후에도 마운팅이 유지되는 것을 확인할 수 있다.
2-2. Ubuntu 환경에 NFS 설정 / 방화벽 비활성화
(1) apt -y install nfs-kernel-server 명령으로 NFS 옵션을 설치한다.
(2) nano /etc/exports 명령으로 에디터에 접속해서 위와 같은 텍스트를 추가한다.
- /share 192.168.100.*(rw)
(3) chmod 777 /share
- /share 디렉토리의 권한을 변경하여 모든 사용자(소유자, 그룹, 기타 사용자)가 읽기, 쓰기 및 실행 권한을 가지도록 설정한다.
(4) exportfs -v
- NFS에서 현재 내보내고 있는 파일 시스템 목록을 표시, 어떤 디렉토리가 공유되고 있는지, 그리고 그에 대한 옵션들을 확인한다.
(5) systemctl restart nfs-server
- NFS 서버 서비스를 재시작한다.
(6) systemctl status nfs-server 명령으로 서비스가 Running(Active) 활성화 상태인지 체크한다.
(7) 방화벽 설정까지 ufw disable 명령으로 Disable 처리한다.
3. vCenter Server ~ iSCSI까지 재구성
3-1. 실습 환경 재구성 및 변경된 vSphere Topology
- vCenter : ywj-vcsa02.rapalab.local / 192.168.100.194
- SSO Domain 필요 : ywj.local
- ESXi Host : esxi-11.rapalab.local / 192.168.100.151 / CPU : 4, RAM : 25GB, Disk : 50 / 650GB
- ESXi Host : esxi-12.rapalab.local / 192.168.100.152 / CPU : 2, RAM : 8GB, Disk : 50 / 100GB
- ESXi Host : esxi-13.rapalab.local / 192.168.100.153 / CPU : 2, RAM : 8GB, Disk : 50 / 100GB
(1) 설치 작업 : esxi-11, esxi-12, esxi-13를 기준으로 vCenter 설치
(2) 스토리지 구성 : 192.168.100.140, 192.168,13.111(VMKernel과 통신)
(3) HDD : 300GB, iSCSI-Pool-02, vol-01 : 200GB, vol-02 : 30GB
(4) vCenter에 호스트 추가 작업
(5) Windows 10은 복제할 것이기 때문에 우선 설치하지 않는다.
3-2. 작업 이전 기존 ESXi 호스트, vCenter, IPStorage VM 종료 필요
(1) 종료 순서는 순차적(계층적)으로 종료하여 문제가 발생하지 않도록 한다.
(1) SSO 자격 증명으로 ESXi-01 호스트의 vCenter Server Applicance로 접속한다.
(2) vCenter 환경에서 나머지 호스트에 대한 전원을 종료한다.
(3) 작업 이전 물리 서버의 리소스 사용률을 줄이기 위해 이전에 사용하던 ESXi 호스트들을 종료했다.
3-3. 호스트 설치 이전 ADMaster VM으로 접속한 뒤 생성할 호스트 및 스토리지에 대한 도메인 등록 작업 필요
(1) 실습에서 추가할 호스트들에 대한 주소 정보 & 도메인 정보를 모두 등록했다.
(2) 아래부터는 실습을 진행하며 작업을 어떻게 진행했는지 큰 틀만 작성했다.
3-4. 작업 시작 : ESXi-11, 12, 13 호스트 가상 머신 생성 / IP, DNS, DNS Suffixes Configuration
3-5. esxi-11 기준으로 vCenter Server 설치 / 나머지 호스트(12, 13) 기준으로 ntp 서비스 활성화 / 스토리지 데이터스토어 생성 / 가상 스위치 보안 연결 활성화
3-6. ESXi-11 기준으로 vCenter Server 구성하기
(1) FQDN(Fully Qualified Domain Name)
- 특정 서버를 완전히 식별하기 위한 도메인 이름 체계를 의미한다. FQDN은 호스트 이름과 도메인 이름을 결합하여 생성할 수 있다.
(2) vCenter 구성요소 설치 작업이 오래 소요되므로 IPStorage 2 VM에서 FreeNAS 우선 설치
(3) IP Storage2 VM 설치 후 주소 대역 추가 (IPStorage2, vmx0)
(4) 스토리지 통신을 위해 vmx1 포트에 주소 할당(vmx1)
3-7. vcsa-02.rapalab.local로 vCenter Server 접속 후 작업
(데이터 센터 생성 & 호스트, 템플릿 별로 디렉터리 생성 & ESXi-12, 13 호스트 추가)
(1) 실습 환경 요구사항은 SSO 인증 도메인을 ywj.local로 설정했다.
3-8. ESXi-12, 13. 호스트에 대해 가상 스위치 생성 후 VMKernel 포트 활성화
(1) 작업 이전 호스트의 물리적 NIC를 추가한다.
(2) DCUI 에서 NIC Status를 Enable로 전환한다.
(3) 전환 후 vCenter Client에서 가상 스위치 추가 & vmKernel 포트 바인딩 작업을 수행한다.
3-8. FreeNAS에서 Pool 및 스토리지 볼륨 생성 작업
3-9. FreeNAS Client Console Env에서 VMKernel Binding port와 ping 테스트 수행
3-10. iSCSI 드라이버 설치
3-11. 스토리지와의 T CP/IP 통신을 위한 Network Port Binding & IP Storage2 서버와 동적 연결 후 FreeNAS Volume 리스트 확인
(1) 여기까지 하면 작업은 완료된다.
3-12. 각 호스트에 접속해서 추가한 iSCSI 디바이스에 대한 데이터스토어를 공유 자원으로 생성
(1) 현재 데이터 스토어가 esxi-12, 13 호스트에서 모두 확인된다.
(2) 서버 가상화 파트에서 지금까지 배웠던 내용들을 추가 실습으로 한 번 정리했다.
※ 해당 포스팅을 기준으로 내용 추가가 필요하다고 생각되면 기존 내용에 다른 내용이 추가될 수 있습니다.
개인적으로 공부하며 정리한 내용이기에 오타나 틀린 부분이 있을 수 있으며, 이에 대해 댓글로 알려주시면 감사하겠습니다!
댓글