이 문서에서는 Windows 운영 체제에서 VMware Workstation 17 Pro를 사용하여 새 가상 머신에 macOS Sonoma 14를 설치하고 구성하는 방법을 살펴봅니다.
iMac, MacBook 또는 MacBook Pro 컴퓨터 사용자는 Apple Store에서 Sonoma 14 업데이트를 다운로드하고 시스템을 쉽게 업데이트할 수 있습니다.
Mac 컴퓨터가 없다고 가정해 보겠습니다. 이 경우 VMware Workstation Pro 가상화 프로그램을 사용하여 Windows 10 또는 Windows 11이 설치된 호스트 컴퓨터에 macOS 14를 설치 하고 Apple의 새로운 시스템을 경험할 수 있습니다.
일반적으로 프로그램이 Apple OS 시스템을 지원하지 않기 때문에 VMware Workstation에 Apple 운영 체제를 설치할 수 없습니다. 그러나 VMware Unlocker를 사용하여 이 지원을 활성화하고 macOS를 잠금 해제할 수 있습니다.
또한 Windows 및 vSphere ESXi 에서 Unlocker 소프트웨어를 사용하여 Apple Mac OS X의 잠금을 해제할 수 있습니다 .
macOS Sonoma용 새 가상 머신을 생성하는 방법
Windows 호스트 컴퓨터에 VMware를 설치한 후 앞서 언급한 대로 Unlocker 도구를 사용하여 게스트 macOS 운영 체제를 설치하고 VM 설정을 올바르게 지정해야 합니다.
1 단계
VMware Workstation 17 Pro를 연 후 메인 화면에서 가상 머신 생성 옵션을 클릭하여 마법사를 엽니다. 새 가상 머신 마법사를 연 후 사용자 지정(고급)을 선택하여 가상 머신 설정을 더 잘 구성하고 다음을 클릭하세요.
2 단계
가상 머신 하드웨어 호환성 선택 창에서 컴퓨터에 설치된 최신 버전의 VMware Pro를 선택합니다. 이전 시스템 버전을 설치하려고 했는데 오류가 발생했다고 가정해 보겠습니다. 이 경우 호환성 섹션에서 Workstation 버전을 다운그레이드할 수 있습니다.
3단계
게스트 운영 체제 설치 창에서 시스템 설치에 사용할 미디어 유형을 선택할 수 있습니다. 호스트의 물리적 DVD 드라이브를 사용하여 설치하려면 설치 프로그램 디스크 섹션에서 설치 미디어를 선택하거나 설치 프로그램 디스크 이미지 섹션에서 컴퓨터에 다운로드한 ISO 이미지를 가상 머신에 추가 하세요 .
이 단계에서 가상 머신에 ISO 파일을 추가하면 추가된 이미지를 기반으로 macOS 가상 머신의 유형과 설정이 자동으로 결정됩니다. 이 프로세스는 설치에 적합하지 않을 수 있으므로 나중에 운영 체제를 설치하겠습니다를 선택하고 계속해서 수동으로 설정을 구성합니다.
4단계
게스트 운영 체제 선택 창에서 Microsoft Windows, Linux, ESX 또는 기타 플랫폼의 운영 체제를 선택할 수 있습니다. 그래도 여기에는 Apple Mac OS X가 표시되지 않습니다.
가상 머신에 macOS를 설치하려고 하면 Apple Mac OS X 시스템에 대한 지원이 표시되지 않습니다. 따라서 Unlocker를 사용하여 macOS 지원을 활성화해야 합니다.
이 창에서 취소 버튼을 클릭하면 가상 머신 생성 마법사가 닫히고 VMware Workstation 프로그램이 완전히 닫힙니다.
Unlocker 도구를 실행하면 VMware 프로그램의 일부 파일이 자동으로 구성되고 백업됩니다. 또한 VMware Tools(Darwin.iso)가 다운로드되기 시작하여 호스트에서 Apple 운영 체제를 보다 효율적으로 사용할 수 있습니다.
참고 : VMware Tools 파일을 다운로드할 수 없는 경우 이 문서를 방문하여 관련 파일을 컴퓨터에 다운로드하십시오.
7단계
macOS를 잠금 해제하면 이번에는 게스트 운영 체제 선택 창에서 Apple Mac OS X 지원이 활성화된 것을 확인할 수 있습니다.
Apple Mac OS X 플랫폼을 선택한 후 버전 섹션에서 macOS 14를 선택하고 다음을 클릭합니다.
8단계
가상 머신에 설치할 시스템 이름을 입력합니다. 설치 위치를 변경한다고 가정해 보겠습니다. 이 경우 찾아보기 버튼을 통해 외부 디스크의 사이트를 지정할 수 있습니다.
호스트 디스크 유형이 SSD 또는 NVMe라고 가정합니다. 이 경우 게스트 머신의 성능을 위해 설치 위치를 변경하지 않고 계속할 수 있습니다.
9단계
프로세서 구성 창에서 호스트 컴퓨터의 하드웨어 성능에 따라 가상 프로세서 코어 수를 늘릴 수 있습니다. 프로세서 수를 늘리면 가상 시스템이 안정적으로 작동하지 않을 수 있으므로 macOS 게스트 운영 체제에 가장 적합한 값을 찾아야 합니다.
10단계
마찬가지로 호스트 컴퓨터의 RAM 용량에 따라 macOS VM에 적합한 메모리 값을 구성합니다. 시스템에 16GB RAM이 있는 경우 VM에 8GB의 메모리를 할당할 수 있습니다.
11단계
NAT를 사용하여 네트워크 유형 설정에서 가상 컴퓨터를 로컬 네트워크에 연결합니다. VM에서 인터넷 연결이 필요하지 않은 경우 호스트 전용을 선택 하거나 네트워크 어댑터를 사용하지 않도록 선택할 수 있습니다.
12단계
I/O 컨트롤러 유형 창에서 기본적으로 선택되고 권장되는 LSI Logic을 진행합니다.
13단계
디스크 유형 창에서 가상 PC의 디스크를 IDE , SCSI , SATA 또는 NVMe로 선택할 수 있지만 설치할 시스템이 지원하는지 확인해야 합니다.
macOS Sonoma는 최신 운영 체제이고 새로운 기술을 지원하므로 NVMe 디스크 유형을 선택하면 가상 머신의 성능을 크게 향상시킬 수 있습니다.
14단계
디스크 선택 창에서 가상 컴퓨터를 위한 새 가상 HDD를 생성하거나, 기존 디스크 파일을 추가하거나, 물리적 디스크를 VM에 직접 탑재할 수 있습니다.
새로 macOS 설치를 위한 새 가상 디스크 생성을 선택하고 다음을 클릭합니다.
15단계
디스크 용량 지정 창에서 Sonoma의 가상 디스크 크기를 100GB로 수정하고 가상 디스크를 호스트의 단일 파일로 백업하도록 선택합니다.
컴퓨터에서 이전 기계 디스크 유형을 사용하는 경우 지금 모든 디스크 공간 할당 옵션을 사용하여 호스트 디스크에서 VM에 대해 100GB의 디스크 공간을 할당할 수 있습니다. 이 옵션을 선택하지 않고 계속 진행하면 가상 머신에 디스크 공간이 필요한 경우 호스트 디스크에서 필요한 길이가 자동으로 할당됩니다.
16단계
가상 디스크 파일을 가상 머신 구성 파일이 아닌 다른 위치에 백업한다고 가정해 보겠습니다. 이 경우 이 창에서 해당 위치를 선택할 수 있습니다. 컴퓨터에 두 개 이상의 가상 머신을 설치하는 경우 디스크 파일의 위치를 변경하지 마십시오. 서로 다른 영역에 있는 가상 디스크 파일로 인해 혼동될 수 있습니다.
17단계
시스템이 가상 컴퓨터를 생성할 준비가 되면 아래와 같은 요약 창이 나타납니다. 요약 창에서 VM에 대한 모든 설정을 확인한 후 하드웨어 사용자 정의 버튼을 클릭합니다.
18단계
macOS 가상 시스템의 프로세서 설정을 보고 가상화 엔진 섹션에서 “Intel VT-x 또는 AMD-V/RVI 가상화” 옵션을 활성화합니다.
19단계
생성한 게스트 시스템에 macOS Sonoma ISO 파일을 추가하려면 CD/DVD(SATA) 장치의 하드웨어 설정 창에서 ISO 이미지 파일 사용 옵션을 선택하고 찾아보기를 클릭하세요.
macOS.vmx 파일에 필요한 코드를 추가하고 파일을 저장한 후 가상 컴퓨터를 실행합니다.
VMware를 사용하여 macOS Sonoma를 설치하는 방법
이 단계까지 VMware를 사용하여 macOS용 새 가상 머신을 생성한 후 시스템 설정을 시작할 수 있습니다.
1 단계
macOS 가상 컴퓨터를 실행한 후 Apple 로고가 나타나면 시스템이 부팅될 때까지 기다립니다.
2 단계
macOS 운영 체제를 사용할 시스템 표시 언어를 선택하고 계속하세요.
3단계
복구 화면이 나타나면 설치하기 전에 가상 디스크를 포맷해야 하므로 디스크 유틸리티를 엽니다.
4단계
디스크 유틸리티에서 VMware 가상 NVMe 디스크 미디어를 선택하고 지우기 버튼을 클릭합니다. 선택한 디스크를 포맷하려면 열린 창의 이름 필드에 디스크 이름을 입력하고 APFS 형식을 선택한 다음 지우기 버튼을 다시 클릭하고 프로세스가 완료될 때까지 기다립니다.
이름: macOS
형식: APFS
구성표: GUID 파티션 맵
5단계
가상 디스크를 포맷한 후 macOS Sonoma 설치를 선택하고 계속을 클릭하여 시스템을 설치합니다.
6단계
계속을 다시 클릭하여 macOS 설치를 시작합니다.
7단계
macOS 소프트웨어 설치를 계속하려면 라이센스 계약에 동의하세요.
8단계
포맷한 가상 디스크를 선택하고 계속을 클릭합니다.
9단계
설정 마법사가 시스템 파일을 macOS 디스크에 복사하는 동안 기다립니다. 진행률 표시줄에는 대략 소요 시간이 표시되지만 호스트 컴퓨터의 성능에 따라 시간이 덜 걸릴 수도 있습니다.
10단계
시스템 파일을 복사한 후 게스트 가상 시스템이 다시 시작되고 Apple 로고에서 작동됩니다.
11단계
필요한 파일을 복사한 후 국가를 선택하고 국가 또는 지역 선택 화면이 나타나면 계속을 클릭하세요.
12단계
쓰기 및 음성 언어 화면에서는 시스템에서 사용하려는 시스템 언어, 키보드 레이아웃 및 시스템 로봇 음성을 변경할 수 있습니다.
13단계
접근성 설정에서 개인적인 필요에 따라 시스템을 맞춤 설정할 수 있습니다. 예를 들어 VoiceOver 화면 읽기 프로그램을 사용하여 파일, 웹 페이지의 텍스트를 말하거나 화면에 나타나는 텍스트를 말할 수 있습니다.
14단계
Apple은 데이터 및 개인 정보 보호 화면에서 사용자의 최소한의 개인 정보를 사용하고 인권을 존중한다는 점을 분명히 명시합니다. 귀하의 데이터를 수집하는 목적은 Apple 서비스를 개선하고 사용자 경험을 향상시키는 것입니다.
15단계
다른 Mac 또는 Windows 컴퓨터에서 게스트 컴퓨터로 파일과 문서를 전송할 수 있습니다. 나중에 데이터를 전송하여 처음부터 시스템 경험을 얻을 수 있습니다.
16단계
Apple ID로 로그인 화면에서 로그인하여 iCloud, App Store 및 기타 Apple 서비스를 사용할 수 있습니다. 따라서 Apple 계정이 없는 경우 이 화면에서 새 Apple 계정을 시작할 수 있습니다.
17단계
이용 약관 화면에서 macOS 소프트웨어 라이선스 계약을 읽은 후 동의하세요.
18단계
가상 시스템에 대한 새 컴퓨터 계정을 만들고 프로필 사진을 선택하세요.
19단계
Apple 지도 및 기타 서비스에 대한 개인화된 사용자 경험을 향상시키기 위해 데이터 사용을 허용하거나 허용하지 않을 수 있습니다. 이 결정은 전적으로 개인적인 것이지만, 귀하의 데이터 및 위치 정보를 Apple과 공유하여 macOS를 더욱 개선하는 데 도움을 줄 수 있습니다.
20단계
시간대 화면에서 귀하가 거주하거나 가장 가까운 지역을 선택하고 계속하십시오.
21단계
마찬가지로, 사용하는 애플리케이션에서 발생하는 충돌 및 사용 데이터를 개발자와 공유함으로써 개발자가 사용자를 위한 애플리케이션을 더 많이 개발하도록 도울 수 있습니다.
22단계
스크린 타임을 통해 부모는 모든 연령대의 자녀에 대해 시스템을 더 효과적으로 제어할 수 있습니다. 또한 앱과 웹 페이지에 소요된 시간을 검토할 수도 있습니다. 나중에 이러한 설정을 자세히 구성하려면 나중에 설정을 클릭하고 계속하세요.
23단계
디자인 선택 화면에서 Sonoma 시스템에 사용하고 싶은 테마를 선택할 수 있습니다. Apple은 사용자에게 Light, Dark 및 Auto의 세 가지 테마 스킨을 제공했습니다.
자동 보기를 사용하기로 선택한 경우, 거주 국가의 시간대에 따라 시스템 보기가 자동으로 밝거나 어두워집니다.
24단계
시스템 설정을 조정하고 Apple 로고를 클릭한 후 이 Mac 정보를 통해 macOS 버전을 확인할 수 있습니다.
macOS에 VMware 도구를 설치하는 방법
VMware와 함께 macOS Sonoma를 설치한 후 전체 화면 해상도와 더 높은 성능으로 게스트 가상 시스템을 사용하려면 VM 도구를 설치해야 합니다.
macOS 게스트 컴퓨터의 경우 어디에서나 VM Tools ISO 파일을 다운로드할 필요가 없습니다. Unlocker 도구를 사용하면 VM 도구(Darwin.iso) 파일이 컴퓨터에 다운로드됩니다.
1 단계
macOS 가상 PC의 도구 메뉴에서 VM / 이동식 장치 / CD/DVD(SATA)로 이동하여 설정을 클릭합니다.
2 단계
CD/DVD 장치의 상태를 연결됨으로 변경한 후 Unlocker/Tools 폴더에 있는 Darwin.iso 파일을 VM에 추가합니다.
3단계
VM에 ISO 이미지를 탑재한 후 VMware 도구 설치를 두 번 클릭하고 설치를 시작합니다.
4단계
VMware Tools 설치 관리자 창에서 계속을 클릭하여 설치를 계속합니다.
5단계
설치 대상 위치를 선택해야 하므로 ‘이 컴퓨터의 모든 사용자에 대해 설치’를 선택하고 다시 계속을 클릭합니다.
6단계
VMware Tools는 가상 디스크에서 7.6MB의 디스크 공간을 사용합니다. 설치 위치를 변경하지 마십시오. 표준 설치를 위해서는 설치 버튼을 직접 클릭하세요.
7단계
설치가 시작되면 사용자 계정 비밀번호를 입력하여 마법사를 인증하고 소프트웨어 설치 버튼을 클릭합니다.
8단계
이번에 시스템 확장 차단 경고가 표시되면 보안 기본 설정 열기를 클릭하세요.
9단계
“개발자 VMware, Inc.의 시스템 소프트웨어가 로드되지 않았습니다.” 경고 옆에 있는 허용 버튼을 클릭합니다.
10단계
새 시스템 구성 요소를 적용하려면 시스템을 다시 시작해야 함을 알리는 창에서 지금은 안 함을 클릭합니다.
11단계
macOS에서 VM Tools 설치를 완료한 후 시스템을 다시 시작합니다.
12단계
VMware에서 게스트 시스템을 전체 화면 해상도로 사용할 수 있는지, 그래픽 메모리가 3MB가 아닌 128MB인지 확인하세요.
13단계
게스트 컴퓨터를 전체 화면 해상도로 사용하려면 호스트 화면에 따라 워크스테이션 도구 메뉴에서 보기 / 전체 화면을 클릭하세요.
14단계
Windows 10 호스트 시스템에서 macOS 게스트 시스템으로 파일을 끌어서 놓아 파일을 전송하려고 하면 VMware-tools-daemon 오류가 발생합니다. 이 오류를 해결하려면 시스템 환경설정 열기를 클릭하세요.
15단계
보안 및 개인 정보 보호 설정을 변경하려면 시스템을 다시 잠금 해제하고 접근성 섹션에서 VMware-tools-daemon 구성 요소를 활성화합니다.
16단계
VMware-tools-daemon 구성 요소를 허용한 후 다시 호스트에서 VM으로 파일을 전송하려고 하면 아래 이미지와 같이 작업이 성공한 것을 확인할 수 있습니다.
인터넷 연결을 확인하는 방법
게스트의 macOS 컴퓨터에서 모든 설정을 지정한 후 인터넷 연결을 테스트하는 것이 도움이 됩니다. 그렇지 않으면 시스템이나 사용하려는 응용 프로그램에 새 업데이트를 설치할 수 없습니다.
1 단계
터미널을 실행하려면 Windows 키 + Space를 함께 누르고 열린 검색 창에 터미널을 입력한 후 실행하세요.
macOS에서 ping을 수행하려면 터미널에서 ping -c 2 www.google.com 명령을 실행하세요. ping 출력에 TTL=128 값이 표시되면 인터넷에 액세스할 수 있습니다.
2 단계
핑이 성공하면 Mac 가상 컴퓨터에서 Safari 웹 브라우저를 열고 Google 홈페이지를 방문하여 연결을 테스트하세요.
USB 플래시 메모리 사용 방법
VMware Workstation 17 Pro 소프트웨어에 설정된 가상 머신에서 USB 플래시 드라이브를 사용할 수 있습니다. 호스트가 컴퓨터에 USB 디스크를 삽입하자마자 프로그램 창에서 감지된 새 장치가 열리고 장치를 VM이나 호스트에 쉽게 연결할 수 있습니다.
1 단계
Windows 10 호스트 컴퓨터에 USB 플래시 디스크를 삽입합니다 . 새 USB 장치 감지 창이 열리면 가상 머신에 연결 옵션을 선택하고 가상 머신을 선택한 후 확인을 클릭합니다.
2 단계
macOS에서는 NTFS로 포맷된 플래시 드라이브를 사용할 수 없습니다 . 따라서 USB 스틱을 ExFAT로 포맷하면 도움이 될 것입니다. 디스크 유틸리티를 연 후 외부 섹션에서 플래시 디스크를 마우스 오른쪽 버튼으로 클릭하고 지우기를 클릭합니다.
디스크 포맷 창에서 이름 필드에 이름을 입력하고 포맷 필드에서 ExFAT를 선택한 후 지우기 버튼을 다시 클릭하세요.
3단계
플래시 디스크를 ExFAT로 포맷한 후 데이터를 전송할 수 있습니다.
4단계
이번에는 macOS VM에 연결된 플래시 디스크를 연결 해제하고 호스트에 연결하세요. 이는 Windows가 macOS에서 플래시 드라이브로 전송된 데이터를 볼 수 있는지 테스트하는 것을 목표로 합니다.
5단계
Windows 10 호스트의 내 컴퓨터를 통해 플래시 메모리의 내용을 보면 VM에 생성된 Backup이라는 폴더를 볼 수 있습니다.
macOS 게스트 머신의 성능을 향상시키는 방법
안타깝게도 macOS 운영 체제를 가상으로 실행하더라도 일부 응용 프로그램이나 게임은 3D 그래픽을 지원하지 않기 때문에 사용할 수 없습니다. 이는 사용되는 가상화 소프트웨어에서 macOS에 대한 3D 그래픽 지원이 없기 때문입니다.
게스트 시스템에 VMware Tools를 설치하면 그래픽 메모리를 3MB에서 128MB로 늘릴 수 있습니다. 그러나 새 컴퓨터를 사용하더라도 이 방법은 작동하지 않습니다.
최소한 소프트웨어 개발자나 Apple 시스템을 경험하고 싶은 사람들에게는 이상적일 수 있습니다. 예를 들어 Intel의 12세대 또는 13세대 프로세서에서도 최신 macOS 버전을 VM과 함께 사용하면 성능 문제가 발생합니다.
시스템의 시각 효과를 변경하거나, 메뉴 전환 효과를 조정하거나, 화면 해상도를 낮추는 등의 작업은 시스템 성능에 약간의 영향을 미칠 수 있습니다.
아래 나열된 코드를 사용하여 시스템 설정을 빠르게 변경할 수 있습니다. 미리 스냅샷 으로 시스템을 백업하는 것을 잊지 마세요 !
[root@localhost:/tmp] esxcli software vib install -v /tmp/vmware-esx-provider-lsiprovider.vib
Installation Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: LSI_bootbank_lsiprovider_500.04.V0.73-0002
VIBs Removed:
VIBs Skipped:
[root@localhost:~] esxcli software vib update -d /tmp/BCM-lsiprovider_700.00.V0.77-0004_16271874.zip
Installation Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: BCM_bootbank_lsiprovider_700.00.V0.77-0004
VIBs Removed: LSI_bootbank_lsiprovider_500.04.V0.73-0002
VIBs Skipped:
[root@localhost:~]
– CIM Provider Package for VMware ESXi 7.0
[root@localhost:~] esxcli software vib update -d /tmp/Broadcom-ELX-CIMProvider_12.6.240.9-01OEM.700.1.0.15525992-signed_component-15920419.zip
Installation Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: EMU_bootbank_emulex-cim-provider_12.6.240.9-01OEM.700.1.0.15525992
VIBs Removed: EMU_bootbank_emulex-cim-provider_12.4.243.7-01OEM.670.0.0.8169922
VIBs Skipped:
[root@localhost:~]
[root@localhost:~] esxcli software vib install -v /tmp/vmware-esx-MegaCli-8.07.07.vib --no-sig-check
Installation Result
Message: WARNING: Only live system was updated, the change is not persistent.
Reboot Required: false
VIBs Installed: LSI_bootbank_vmware-esx-MegaCli-8.07.07_8.07.07-01
VIBs Removed:
VIBs Skipped:
[root@localhost:~]
– 결과 확인
[root@localhost:~] esxcli software vib list
Name Version Vendor Acceptance Level Install Date
----------------------------------------- ------------------------------------ ------ ---------------- ------------
lsiprovider 700.00.V0.77-0004 BCM VMwareAccepted 2020-09-07
emulex-cim-provider 12.4.243.7-01OEM.670.0.0.8169922 EMU VMwareAccepted 2020-02-23
vmware-esx-MegaCli-8.07.07 8.07.07-01 LSI PartnerSupported 2020-09-07
NVIDIA-kepler-VMware_ESXi_6.5_Host_Driver 367.64-1OEM.650.0.0.4240417 NVIDIA VMwareAccepted 2018-03-23
APC UPS의 경우 PowerChute 어플리케이션을 통해서 상황에 따라 서버 전원을 내릴 수 있게 지원하고 있다.
하지만 Synology의 경우 해당 어플리케이션이 없었고, 기본적으로 제공하는 SNMP 기반의 안전모드를 사용해야 했다.
먼저 UPS SNMP를 먼저 설정해준다.
## SNMP V1 이용 시
1. UPS Management Web 접속
2. UPS Management 로그인
3. PowerChute -> SNMP Setting -> SNMPv1(+) 로 이동
4. Enable 체크 후 Apply 클릭
5. User Profiles Add Profile 클릭
6. Community Name 입력 (원하는 값으로)
7. NMS IP/Host Name 설정 (기본값은 0.0.0.0 으로 모두 접속 허용)
> NMS IP값에 특정 IP를 적으면 그 IP 장비만 SNMP에 접속 할 수 있음.(*Host Name 안됨.)
8. Access Type은 Read로 설정
9. OK 선택 후 Apply 클릭
위와 같이 SNMP 설정이 끝나면, 다음은 Synology NAS 설정이다.
1. Synology NAS 로그인
2. 제어판 열기
3. 하드웨어 및 전원 -> UPS 이동
4. UPS 지원 활성화 체크
5. 네트워크 UPS 유형 "SNMP UPS" 선택
6. RackStation이 안전 모드로 설정되기 전 대기 시간 설정
(원하는 시간, 예를 들어 20분 등)
7. SNMP UPS IP 주소 입력 (UPS 주소)
8. SNMP MIB는 auto로 설정 (* "apcc" 로 잡아주는게 정확한 값임)
9. SNMP 버전은 v1으로 설정
10. SNMP 커뮤니티는 UPS에서 설정한 값을 입력
11. 적용
하드웨어 가상화의 핵심 아이디어 중 하나는 물리적 컴퓨터도 사용할 수 있는 거의 모든 경우에 가상 컴퓨터를 사용할 수 있다는 것입니다.
Virtual Network Adapters
각각 VirtualBox VM은 8개의 가상 네트워크 어댑터를 사용할 수 있고, VM은 NIC(Network Interface Controller)를 가지고 있는데 GUI에서는 4개의 어댑터를 설정할 수 있지만, cli의 VBoxManage modifyvm 명령어를 통해서 총 8개까지 설정할 수 있습니다.
VBoxManage 로 조정하는 것은 GUI로 봤을 때 vm 을 클릭 하고 setting을 눌러 network를 세팅하는 것을 말합니다.
Virtualbox에서 제공하는 Network Adapters 종류
AMD PCnet-PCI II (Am79C970A)
AMD PCnet-FASt III (Am79C973)
Intel PRO/1000 MT Desktop (82540EM)
Intel PRO/1000 T Server (82543GC)
Intel PRO/1000 MT Server (825456EM)
Paravirtualized Network Adapter (virtui-net)
※ 업계 표준 virtIO 네트워킹 드라이버는 VirtualBox에서 지원됩니다. (VirtIO 네트워킹 드라이버는 KVM 프로젝트의 일부이며 오픈소스 입니다.)
Jumbo frames support
VirtualBox는 jumbo frames (Ethernet frames that can carry packets which size is more than 1,500 bytes)에 대한 제한된 지원을 제공합니다.
윈도우 6.0.12 r133076 GUI 로 수정 테스트 했을 때는 VM restart 없이 적용 되었습니다.
Port Forwarding
VM > Settings > Network : VM에서 사용할 NIC 어댑터와 연결할 네트워크에 대한 설정
File > Preferences > Network : NAT network를 설정, 추가 할 수 있는 설정
Bridged Adapter
VM의 가상 네트워크 어댑터를 VirtualBox 호스트 컴퓨터의 물리적 네트워크 어댑터가 연결된 물리적 네트워크에 연결하는 데 사용됩니다. VM 가상 네트워크 어댑터는 네트워크 연결에 호스트 네트워크 인터페이스를 사용합니다. 간단히 말해 네트워크 패킷은 추가 라우팅 없이 가상 네트워크 어댑터와 직접 주고 받습니다.
로컬 물리 네트워크에 접속하기 위해 주로 사용하며, VM에서 host, host와 연결된 네트워크, 외부 네트워크에 접속이 가능합니다. 이때 호스트에서 여러개의 물리 어댑터를 사용할 경우 사용할 어댑터를 설정해 주어야 합니다.
Bridged Adapter를 사용할 경우 VM 가상 네트워크 어댑터의 IP 주소는 호스트 컴퓨터의 물리적 네트워크 어댑터 IP 주소와 동일한 네트워크에 속할 수 있습니다. 이때 물리적 네트워크에 DHCP 서버가 있는 경우 VM의 가상 네트워크 어댑터는 Bridged mode에서 자동으로 IP주소를 얻습니다.
※ 게스트 OS의 네트워크 인터페이스 설정에서 자동으로 IP 주소 받기가 설정 된 경우에 가능
예를 들면
물리적 네트워크 주소 : 10.10.10.0/24
물리적 네트워크에 있는 기본 게이트웨이의 IP 주소 : 10.10.10.1
물리적 네트워크에 있는 DHCP 서버의 IP 주소 : 10.10.10.1
호스트 컴퓨터 IP 구성 : 10.10.10.72
넷 마스크 : 255.255.255.0
기본게이트웨이 : 10.10.10.1
게스트 컴퓨터의 IP 구성 : 10.10.10.91
넷 마스크 : 255.255.255.0
기본 게이트웨이 : 10.10.10.1
※ 따라서 bridge mode에서 작동하는 가상 네트워크 어댑터의 기본 게이트웨이는 호스트 컴퓨터와 동일합니다.
경우에 따라 물리적 네트워크에 여러 게이트웨이가 있는 경우가 있습니다. 하나의 게이트웨이를 통해 필요한 네트워크에 연결하기 위해 호스트 머신을 사용하고 두 번째 게이트웨이를 통해 다른 네트워크에 연결하기 위해 게스트 머신을 사용할 수 있습니다.
VM에서 라우팅 테이블을 편집하고 두 게이트웨이를 사용해 적절한 네트워크에 연결하기 위한 경로를 추가할 수도 있습니다.
Promiscuous mode (무작위 모드)
이 모드는 네트워크 어댑터가 지정되는 어댑터 주소에 관계없이 수신된 모든 트래픽을 전달할 수 있습니다. 일반 모드에서 네트워크 어댑터는 특정 네트워크 어댑터의 MAC 주소를 헤더의 대상 주소로 포함하는 프레임만 수신합니다.
이 모드는 물리적 네트워크 어댑터가 여러 MAC 주소를 가질수 있도록 할 수 있으며 모든 트래픽이 호스트 시스템의 물리적 네트워크 어댑터를 통과하고 호스트 어댑터에 표시되는 자체 MAC 주소가 있는 VM의 가상 네트워크 어댑터에 도달 할 수 있도록 합니다. IP가 설정되지 않은 VM 가상 네트워크 어댑터에도 도달됩니다.
무작위 모드 종류는 3개로 나뉘는데
Deny : VM의 가상 네트워크 어댑터로 보내지 않은 트래픽은 VM에서 숨겨집니다. (default)
Allow VMs : 다른 VM 과 주고 받는 트래픽을 제외하고 모든 트래픽은 VM 네트워크 어댑터에서 숨겨집니다.
Allow All : 제한이 없으며, VM 네트워크 어댑터는 모든 수신 및 발신 트래픽을 볼 수 있습니다.
Internal Network
내부 네트워크 모드에서 작동하도록 구성된 가상 머신은 격리된 가상 네트워크에 연결됩니다. 이 네트워크에 연결된 VM은 서로 통신할 수 있지만 VirtualBox 호스트 컴퓨터나 물리적 네트워크 또는 외부 네트워크의 다른 호스트와는 통신 할 수 없습니다. 내부 네트워크에 연결된 VM은 호스트 또는 다른 장치에서 액세스 할 수 없습니다. 주로 네트워크 모델링에 사용합니다.
예를 들어 각각 내부 네트워크에 연결된 가상 네트워크 어댑터(어댑터1)가 있는 세개의 VM을 만들 수 있습니다. 이러한 네트워크 어댑터의 IP 주소는 Virtualbox 내부 네트워크에 사용되는 서브넷에서 정의됩니다.(서브넷을 수동으로 정의해야 합니다.)
VM1 – (어댑터2) NAT mode 추가 설정 하여 라우터로 구성 (라우터 역할을 하기 위해 VM에 리눅스를 설치하고 iptables를 설치하는 것이 좋지만, 간단한 라우팅을 사용하기 위해서 내장된 기능을 사용한다.)
VM2, VM3 – 어댑터의 내부 네트워크 어댑터의 IP 주소가 있으면 외부 네트워크에 액세스 할 수있는 유일한 Virtual network에 접속되어 VM1은 네트워크 설정에서 게이트웨이로서 설정합니다.
구성으로 표현하자면
VM1
IP : 192.168.23.1 (내부 네트워크 모드), 10.0.2.15 (NAT 모드), 게이트웨이 10.0.2.2 (내장 VirtualBox NAT 장치 IP 주소)
VM2
IP : 192.168.23.2 (내부 네트워크 모드), 게이트웨이 192.168.23.1
VM2
IP : 192.168.23.3 (내부 네트워크 모드), 게이트웨이 192.168.23.1
VirtualBox 내부 네트워크 서브넷 192.168.23.0/24
※ 실제 네트워크 인프라에서 방화벽 규칙을 구현하기 전에 IPTABLES에서 방화벽 규칙을 테스트하기 위해 이러한 인프라를 배포 할 수도 있지만 외부네트워크에서 연결할 때 VM1의 두 번째 가상 네트워크 어댑터가 NAT 모드가 아닌 Bridge 모드를 사용하는 것이 좋습니다.
Host-only Adapter
호스트와 guest 간의 통신을 위해 사용됩니다. VM은 Host-only로 연결된 VM과 host에 통신이 가능합니다.
Host-only network를 사용하기 위해서는 호스트에서 해당 네트워크 어댑터를 생성해 주어야 합니다. File > Host Network Manager.
위의 경우 Host-only network의 기본 네트워크 주소는 192.168.56.0/24 이고 호스트 컴퓨터에 있는 가상 네트워크 어댑터의 IP 주소는 192.168.56.1 입니다. 이러한 IP 주소는 수동으로 IP를 편집할 수 있습니다.
추가적으로 DHCP 서버 설정을 활성화/비활성화 할 수 있습니다. DHCP 서버 탭에서는 DHCP의 IP주소, 넷 마스크 및 DHCP 클라이언트에 대해 발급할 IP 주소 범위를 설정할 수 있습니다.
※ Host-only mode에서는 외부의 장치에서 호스트 전용 네트워크에 연결할 수 없기 때문에 VM의 가상 네트워크 어댑터에는 IP 구성에 게이트웨이가 없습니다.
Generic Driver
이 모드를 사용하면 일반 네트워크 인터페이스를 공유할 수 있습니다. 사용자는 확장 팩에 배포하거나 VirtualBox에 포함할 적절한 드라이버를 선택할 수 있습니다.
UDP Tunnel : 다른 호스트에서 실행되는 가상머신은 기존 네트워크 인프라를 사용하여 투명하게 통신할 수 있습니다.
VDE Networking : 가상 머신은 Linux 또는 FreeBSD 호스트의 가상 Distributed Switch에 연결할 수 있습니다. 표준 Virtualbox 패키지에는 이 기능이 포함되어 있지 않으므로 VDE 네트워킹을 사용하려면 Virtualbox 소스에서 컴파일해서 만들어진 프로그램을 사용해야 합니다.
네트워크 모드에 따른 접속 가능 확인
Port Forwarding
포트포워딩은 트래픽을 다른 IP 주소 혹은 포트로 리디렉션하는 것 외에도 적절한 IP 주소 및 포트로 주소가 지정된 트래픽을 가로채는 프로세스입니다.
컴퓨터 및 기타 라우터 장치에서 특수 응용프로그램을 사용하여 포트 전달을 구성할 수 있습니다.
포트 포워딩의 가장 일반적인 사용 사례 중 하나는 외부 네트워크에서 NAT 뒤에 숨겨진 특정 네트워크 서비스에 대한 액세스를 제공하는 것입니다. 포트포워딩 규칙을 구성한 후 클라이언트는 라우터 (호스트)의 외부 IP 주소 및 지정된 포트에 연결하여 외부에서 적절한 서비스에 액세스 할 수 있습니다.
패킷은 먼저 라우터의 응용 프로그램에서 가로채고 응용 프로그램은 해당 헤더 (IP 패킷 헤더, TCP 또는 UDP 세그먼트의 헤더)의 대상 IP 주소와 포트 번호를 읽습니다.
헤더의 대상 IP 주소 및 포트 번호 조합이 포트 포워딩 규칙과 일치하는 경우 라우팅 애플리케이션은 헤더 정보 (IP 정보 및 포트 번호)를 다시 쓰고 다른 네트워크 패킷 / 세그먼트로 보냅니다.
포트 포워딩 적용 예시 (SSH 액세스)
호스트 IP : 10.10.10.72 (물리적 NIC)
VM IP : 10.0.2.15 (NAT mode)
사용자 이름 : user1
NAT로 구성된 VM 어댑터에서 Port Forwarding 규칙 설정
VM 클릭 » Settings » Network » Adapter1
SSH 서버는 기본적으로 22 TCP 포트를 수신합니다.
포트 8022로 들어오는 연결을 VM 22번 포트로 전달 할 수 있는 규칙을 만들면 다음과 같습니다.
※ Host는 host, Guest는 guest
Virtualbox 호스트의 실제 네트워크 어댑터의 실제 IP 주소가 될 유사한 포트 전달 규칙을 만드는 경우 물리적 네트워크의 다른 호스트는 포트 8022에서 Virtualbox 호스트 시스템에 연결하여 SSH를 통해 VM에 액세스 할 수 있습니다.
이 예에서는 Virtualbox 호스트에 있는 물리적 NIC IP 주소는 10.10.10.72 입니다.
이렇게 되면 Virtualbox 호스트 또는 LAN에 연결된 다른 호스트에서 SSH 클라이언트를 열고 포트 8022에서 Virtualbox 호스트 IP에 연결합니다.
포트 포워딩 적용 예시 (HTTP 액세스)
VM에 웹 서버를 배포하고 외부에서 웹 사이트에 대한 액세스를 제공하려는 경우 다른 포트 전달 규칙을 추가 할 수 있습니다.
Virtualbox 호스트 머신과 물리적 LAN (Local Area Network)에 연결된 다른 머신에서 VM에 배포된 웹 사이트에 액세스하기 위해 해당 포트 전달 규칙을 구성하는 방법을 예로 들면 다음과 같습니다.
먼저 웹 사이트가 정상 접속 되는지 확인한 후에 진행합니다. 웹은 TCP 8080 를 사용합니다.
VM settings > Network > select adapter > Port Forwarding
RDP, FTP 및 기타 프로토콜을 통해 VM에 액세스하기 위한 규칙을 정의할수도 있습니다.
결론
Virtualbox는 유연하고 다양한 네트워크 설정을 제공하는 강력한 가상화 솔루션입니다.
각 VM은 최대 8개의 가상 네트워크 어댑터를 사용할 수 있으며(단, GUI에서는 4개까지만 설정 가능) 각 네트워크 어댑터는 실제 Intel 및 AMD 네트워크 인터페이스 컨트롤러 (NIC)의 적절한 모델로 에뮬레이션 될 수 있습니다.
원래 RDP(Remote Desktop Protocol)는 Client Rendering 입니다.
반면, Remote-FX 기술은 Host Rendering입니다.
* 컴퓨터에 원격데스크톱 클라이언트 7.1 이상이 있어야함. (* Win7 Ulti – SP1이상, WinXP SP3이상)
1. 관리자 권한으로 ‘실행’을 실행해주세요. (*RDP Server 역할에서 설정해야 함.)
2. gpedit.msc를 치고 엔터. (그룹정책편집기 실행)
2. 컴퓨터구성 -> 관리 템플린 -> Windows 구성요소
-> 터미널 서비스 -> 원격 데스크톱 세션 호스트 -> 원격 세션 환경으로 갑니다.
3. 원격 세션 환경에 들어가셔서,
모든 원격 데스크톱 서비스 세션에 “하드웨어 그래픽 어탭터 사용”을 “사용”으로 바꿔 줍니다.
> WinXP, 7 : Remote FX 구성을 더블클릭하셔서 사용에 체크하고 확인.
> Win 8 이상 : Enable RemoteFX encoding for RemoteFX clients designed for Windows Server 2008 R2 SP1 항목 더블클릭 후 사용에 체크하고 확인.
나머지는 읽어 보시면서 필요한걸 사용으로 바꿔주도록 합니다.
“하드웨어 그래픽 사용” 이외 셋팅을 하실땐, 가능하면 옆에 노트북 or 옆에 자리 사람 pc 에서 원격 테스트를 하는게 좋습니다. 귀찮다고 모두 사용으로 바꿔 버리면 아래처럼 진짜 집에서 할때 연결이 안되 낭패를 볼 수 있습니다.
제 PC의 셋팅값. 성능을 잡으면서 원격 접속 오류가 안나는 셋팅을 찾는게 중요하고 모르겠으면 하드웨어 그래픽 어댑터 사용만 합니다..
다 되었으면 RemoteFX For Windows Server 2008 R2 .. 폴더로 들어갑니다.
4. Configure RemoteFX (RemoteFX 구성) 을 사용으로 바꿔 줍니다.
* RemoteFX를 사용하시려면, 호스트 컴퓨터의 사용자에게도 Remote Desktop User 권한이 주어져 있어야합니다.
1. 관리자권한으로 ‘실행’을 실행해주세요.
2. lusrmgr.msc를 치고 엔터.(로컬사용자편집기)
3. 사용자 폴더에 가셔서, 자신의 계정을 오른쪽클릭 -> 속성
4. 소속 그룹 탭에 가셔서, 밑의 추가버튼을 눌러주세요.
5. 그룹 선택 창에서 고급을 누르시고, 찾기 버튼을 눌러주세요.
6. 그러면 밑에 좌라락 뜨는데요, 거기서 Remote Desktop Users 를 누르시고 확인.
7. 확인 확인 확인 누르시고, 창 닫아주시면 됩니다.
이렇게 다 해주시고, 컴퓨터 다시 껐다가 켜주시면 Remote FX가 활성화 된 상태가 됩니다.
버전 관리 서버를 private 하게 내부에서 관리할 필요가 있다는 판단하여 docker를 가지고 GitLab 서버를 구축하였다. 구축 과정을 블로그에 남긴다.
DB서버를 사용하는 내부 서버가 있다. 그곳에다 GitLab서버를 구축하려고하였다. 그래서 다른것 하나 생각치않고 docker부터 떠올렸다. 이유는 해당 서버에 DB서버가 구축되어 있기 때문에 GitLab서버를 그대로 설치해버리면 기존에 사용하던 시스템이 망가질 우려가 있었기 때문이다.
따라서 기존의 시스템에 전혀 영향이 가지 않게끔 도커를 이용하여 GitLab 서버를 설치하였다.
GitLab Docker images The GitLab Docker images are monolithic images of GitLab running all the necessary services in a single container. If you instead want to install GitLab on Kubernetes, see GitLab Helm Charts. Find GitLab’s official Docker image at: T
docs.gitlab.com
나 또한 gitlab 서버 설치할 때 공식 가이드를 참고하여 설치하였다. 내가 작성한 docker-compose.yml 파일의 내용은 아래와 같다.
ports : 8829 -> 80, 4443 -> 443, 2224 -> 22 로 매핑시켰다. 이유는 혹시 모를 중복되어지는 포트가 있을 수 있기 때문이다. 그리고 해당 서버에서 벌써 22번 포트를 사용하고 있었기에 ssh 포트를 변경하면서 나머지도 변경하였다.
external_url : ‘http://호스트명:포트번호’ 이런식으로 입력한다. 이 주소는 추후 gitlab에서의 clone을 이용할 때 사용되어지는 주소이다. 포트번호를 적지 않으면 gitlab에서 포트번호가 보이지 않게 되어 clone할 때 매번 포트 번호를 적어줘야하는 귀찮은 일이 발생하므로 필히 적어주는 것이 좋을 것이다.
gitlab_rails[‘gitlab_shell_ssh_port’] : 이 값에 새로운 ssh 포트 값을 입력하였다.
nginx[‘listen_port’] : external_url 옵션에 포트번호가 들어가는데 이 옵션이 빠진다면, gitlab 접속이 불가능할 것이다. 그러므로 nginx의 포트를 지정해주었다.
nginx[‘client_max_body_size’] : 만약 큰 용량의 파일을 올릴 수 있다면 용량을 크게 잡는다. 한번에 올릴 수 있는 용량의 크기를 정하는 옵션이다.
volumes : gitlab 서버 컨테이너를 삭제하여도 기존의 쌓였던 데이터들을 고스란히 보관하기 위하여 volumes 옵션을 주었다.
volumes – backups : 이것은 추후 gitlab 서버 데이터의 백업 및 복구를 편하게 하기 위하여 설정한 것이다.
위의 파일을 작성했다면 다음의 명령으로 gitlab 서버 컨테이너를 실행시킨다.
$ docker-compose up -d
참고로 gitlab 서버가 정지되었을 경우 아래의 명령처럼 gitlab 서버 컨테이너를 실행시키면 된다.
$ docker start gitlab
GitLab 이미지 Update
gitlab의 버전을 업데이트할 때는 gitlab 컨테이너를 제거하고, gitlab 도커 이미지를 업데이트 한 후 그 이미지로 컨테이너를 만들면 된다.
// 도커 컨테이너 정지
$ docker container stop gitlab
// 혹은 아래와 같이 docker-compose로 컨테이너를 볼륨과 함께 정지 후 제거
$ docker-compose -f <docker-compose.yml 경로> down -v
// 도커 이미지 제거
$ docker image rm gitlab
// gitlab 최신버전 이미지 가져오기
$ docker image pull gitlab/gitlab-ce:latest
// gitlab 실행
$ docker-compose up -d
하지만 docker-compose.yml 파일을 작성했다면 아래와 같이 간단한 방법으로 update를 할 수 있다.
// docker-compose.yml 파일 위치로 이동 후// gitlab update
$ docker-compose pull
// gitlab 재실행
$ docker-compose up -d
// 혹은, 컨테이너를 완전하게 삭제 후 실행
$ docker-compose up -d --force-recreate
이메일 발송 설정
이메일을 설정해 놓으면 사용자가 비밀번호를 분실했을 경우, 비밀번호 재설정을 이메일로 받아 볼 수 있다. 이런 설정을 하려면 gitlab 컨테이너에 접속하여 설정 파일을 수정해야 한다.
// gitlab 컨테이너 접속
$ docker container exec -it gitlab /bin/bash
// 설정 파일 수정
$ vim /etc/gitlab/gitlab.rb
아래의 공식 가이드 문서에 가면 본인이 원하는 이메일 설정 방법이 자세히 나와 있으므로 그것을 보고 따라하면 되겠다.
SMTP settings If you would rather send application email via an SMTP server instead of via Sendmail, add the following configuration information to /etc/gitlab/gitlab.rb and run gitlab-ctl reconfigure. cautionYour smtp_password should not contain any Strin
docs.gitlab.com
이메일 설정을 모두 마쳤다면 다음과 같은 명령을 통해 변경된 설정을 적용하자.
// /etc/gitlab/gitlab.rb 파일을 변경한 후에는 항상 다음의 명령을 통해 변경 사항을 적용시켜줘야 한다.
gitlab-ctl reconfigure
GitLab 서버 Backup
/var/opt/gitlab/backups 디렉토리를 공유 디렉토리로 매핑시켰다. 그것은 gitlab 서버 복원을 편하게 하기 위함이다.
백업된 gitlab 데이터 파일을 /var/opt/gitlab/backups 디렉토리 즉, 현재 셋팅해서는 ~/Documents/gitlab/backups 디렉토리에 넣고 아래의 명령을 실행하면 gitlab 데이터가 복원된다.
Back up and restore GitLab GitLab provides Rake tasks for backing up and restoring GitLab instances. An application data backup creates an archive file that contains the database, all repositories and all attachments. You can only restore a backup to exact
docs.gitlab.com
참고로, 실행중인 gitlab 서버 컨테이너 백업/복구의 명령은 다음과 같다.
// gitlab 서버 데이터 백업 명령어
docker container exec -t <컨테이너 이름> gitlab-backup create
// gitlab 서버 데이터 복구 명령어
docker exec -it <컨테이너 이름> gitlab-backup restore