esxi 6에 qlogic 16G fc driver upgrade 과정

1. vsphre에 접근 및 유지보수 모드 시작

2. 구성 - 보안 프로파일 - 방화벽 - 속성에서 ssh모드 활성화

3. winscp등을 통해 드라이브 파일(qlnativefc-2.1.43.0-1OEM.600.0.0.2768847.x86_64.vib) esxi의 /tmp로 전송

4. /usr/bin/esxcli software vib install -v /tmp/qlnativefc-2.1.43.0-1OEM.600.0.0.2768847.x86_64.vib --no-sig-check -f

5. 결과 확인

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: QLogic_bootbank_qlnativefc_2.1.43.0-1OEM.600.0.0.2768847

   VIBs Removed: QLogic_bootbank_qlnativefc_2.1.10.1-1OEM.600.0.0.2159203

   VIBs Skipped:

6. reboot
7. vsphre에 접근 및 유지보수 모드 종료
8. 드라이버 확인


'virtualization' 카테고리의 다른 글

spice 설정 자료  (0) 2016.02.01
KVM nested virualization  (0) 2016.01.11
PCI passthrough on KVM  (0) 2015.08.07
kvm 설치 centos  (0) 2015.04.03
CentOS 6, KVM에 guest OS bridge 네트워크 설정법  (0) 2015.04.03

http://people.freedesktop.org/~teuf/spice-doc/html/ch02.html

 

spice 설정 자료

 

http://www.spice-space.org/download.html

spice 관련 다운로드 링크

'virtualization' 카테고리의 다른 글

esxi 6 드라이버 업그레이드  (0) 2016.11.30
KVM nested virualization  (0) 2016.01.11
PCI passthrough on KVM  (0) 2015.08.07
kvm 설치 centos  (0) 2015.04.03
CentOS 6, KVM에 guest OS bridge 네트워크 설정법  (0) 2015.04.03

가상머신에서도 VT-D를 활성화 시키기 위한 중첩가상화.. 

모듈에서 netsted 활성화 시키기

 

# vi /etc/modprobe.d/kvm-nested.conf
options kvm_intel nested=1
options kvm_intel enable_shadow_vmcs=1
options kvm_intel enable_apicv=1
options kvm_intel ept=1

 

이후에 모듈을 다시 활성화 시킨 후 활성화 되었는지 확인

# modprobe -r kvm_intel 
# modprobe kvm_intel

 

# cat /sys/module/kvm_intel/parameters/nested
Y

해당 domain의 xml 파일 수정 또는 virt-manager를 통해 vm에 가상화 지원하게 변경

 

1. cpu mode를 'host-passthrough' 또는 'host-model'로 변경

[root@localhost ~]# virsh edit test

<domain type='kvm'>
  <name>test</name>
  <uuid>458241a2-cd87-46a8-bd48-92722459d92d</uuid>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
<중략>

 

 

  <cpu mode='host-passthrough'>        // 또는   <cpu mode='host-model'>

<중략>

 

2. cpu 항목에 vmx 또는 svm 항목을 추가 시킴

[root@localhost ~]# virsh edit test

<domain type='kvm'>
  <name>test</name>
  <uuid>458241a2-cd87-46a8-bd48-92722459d92d</uuid>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
<중략>

  <cpu mode='custom' match='exact'>

    <feature policy='require' name='vmx'/>       // 추가

<중략>

 

 

 

참고 항목 : http://libvirt.org/format.html

 

vm을 가동후 가상머신을 지원하는지 확인, 가상화를 지원하는 경우 결과물이 core갯수만큼 출력, 지원안 할 경우 아무것도 나오지 않음

# cat /proc/cpuinfo | egrep '(vmx|svm)' 

[root@localhost /]# cat /proc/cpuinfo | egrep '(vmx|svm)'
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid

 

'virtualization' 카테고리의 다른 글

esxi 6 드라이버 업그레이드  (0) 2016.11.30
spice 설정 자료  (0) 2016.02.01
PCI passthrough on KVM  (0) 2015.08.07
kvm 설치 centos  (0) 2015.04.03
CentOS 6, KVM에 guest OS bridge 네트워크 설정법  (0) 2015.04.03

1.  PCI passthrough를 위한 사전 작업

BIOS에서 VT-d 활성화

Kernel에서 VT-d 활성화

kernel명령어에 'intel_iommu=on'을 추가후 grub에 업데이트(CentOS 7.0 기준)

grub 설정파일인 /etc/sysconfig/grub 의 GRUB_CMDLINE_LINUX 항목에  'intel_iommu=on' 및 grub에 업데이트 후 재부팅

[root@localhost ~]# vi /etc/sysconfig/grub

 

 

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto  vconsole.keymap=us rhgb quiet intel_iommu=on"
GRUB_DISABLE_RECOVERY="true"

 

 

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-229.7.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-229.7.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-8efed03c3e3f4652b2ca66735627f062
Found initrd image: /boot/initramfs-0-rescue-8efed03c3e3f4652b2ca66735627f062.img
done

[root@localhost ~]# reboot

 

2. 가상머신에 장착할 디바이스의 pci 슬롯 확인

[root@localhost ~]#

[root@localhost ~]# lspci | grep -i ql

04:00.0 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)

04:00.1 Fibre Channel: QLogic Corp. ISP2532-based 8Gb Fibre Channel to PCI Express HBA (rev 02)

[root@localhost ~]#


3. 확인 한 PCI 슬롯 번호로 nodedev로 host에 등록된 PCI장비의 이름을 확인후 이 이름을 바탕으로 device 정보 확인

(이때 bus, slot, function 번호 확인 => virsh로 가상머신에 device 장착시 필요)

[root@localhost ~]# virsh nodedev-list | grep 04_00_

pci_0000_04_00_0

pci_0000_04_00_1

[root@localhost ~]# virsh nodedev-dumpxml pci_0000_04_00_0
<device>
  <name>pci_0000_04_00_0</name>
  <path>/sys/devices/pci0000:00/0000:00:03.0/0000:04:00.0</path>

  <parent>pci_0000_00_03_0</parent>

:

    <bus>4</bus>
    <slot>0</slot>
    <function>0</function>

    <product id='0x2532'>ISP2532-based 8Gb Fibre Channel to PCI Express HBA</product>

:

  </capability>
</device>


[root@localhost ~]# virsh nodedev-dumpxml pci_0000_04_00_1
<device>
  <name>pci_0000_04_00_1</name>

:

    <domain>0</domain>
    <bus>4</bus>
    <slot>0</slot>
    <function>1</function>

:

    </pci-express>

  </capability>
</device>

[root@localhost ~]#

 

4. 확인한 노드 이름으로 host에서 device 탈착

(Host에 부착되어 있는 nodedev는 가상머신에 장착이 불가능하여 탈착필요)

  # virsh nodedev-detach <DeviceName>

[root@localhost ~]# virsh nodedev-detach pci_0000_04_00_0
Device pci_0000_04_00_0 detached

 

[root@localhost ~]# virsh nodedev-detach pci_0000_04_00_1
Device pci_0000_04_00_1 detached


5. 가상머신에 PCI 장비 장착

(virt-manager 또는 virsh를 이용하는 2가지 방법이 있음)

  가. virt-manager를 이용한 방법

  [Menu] - [View] - [Details] - [Add Hardware]에서 해당 디바이스를 선택후 Finish

 

 

 

  나. virsh을 이용 해당 vm의 XML 파일 직접 수정

  # virsh edit <VM Name> 

[root@localhost ~]# virsh edit win2k12r2-3

:

:

    <hostdev mode='subsystem' type='pci' managed='yes'>

      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
      </source>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x1'/>
      </source>
    </hostdev>

 

6. 가상머신에 장착 확인

 

 

 

 

'virtualization' 카테고리의 다른 글

esxi 6 드라이버 업그레이드  (0) 2016.11.30
spice 설정 자료  (0) 2016.02.01
KVM nested virualization  (0) 2016.01.11
kvm 설치 centos  (0) 2015.04.03
CentOS 6, KVM에 guest OS bridge 네트워크 설정법  (0) 2015.04.03

□ CentOS 설정


 

o SELinux 해제

vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing
# 아래의 내용으로 변경함
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
reboot;


 

□ 가상화 지원 여부 확인

최근에 출시하는 Intel(VT-x), AMD(AMD-v) 계열의 프로세서는 대부분 하드웨어 가상화를 지원하며, 지원되지 않은 CPU일 경우 가상화를 원활히 사용할 수 없음

# intel cpu : vmx(Intel-VT), AMD cpu : svm(AMD-V)
egrep '(vmx|svm)' --color=always /proc/cpuinfo


 

o 아래 결과 중 빨간색(vmx)로 표시되면, CPU가 가상화 지원

CPU의 가상화 지원 여부 확인



 

□ KVM 환경 구성


 

o 참고사항

CentOS 6.2 버전의 경우 커널에 KVM이 기본적으로 포함되어 배포되어 별도의 설치가 필요 없이 사용 가능함

# KVM 설치 여부 확인
lsmod | grep kvm
#아래와 같이 표시되면 KVM이 설치되어 있음
kvm_intel 50380 0
kvm 305081 1 kvm_intel


 

o KVM 관련 패키지 설치

yum groupinstall "Virtualization*"


 

o KVM 관련 패키지 설치

- qemu-kvm
- qemu-img
- libvirt Library
- virt-manager


 

o 설치 확인

- 프로그램->시스템도구->가상 머신 관리자 선택


 

가상 머신 관리자 선택 예시



 

o 설치 확인

- 가상 머신 관리자(Virt-Manager) 구동 확인

가상 머신 관리자 구동 확인 예시

※ 실제 처음 설치할 경우 등록된 가상 머신은 없음

'virtualization' 카테고리의 다른 글

esxi 6 드라이버 업그레이드  (0) 2016.11.30
spice 설정 자료  (0) 2016.02.01
KVM nested virualization  (0) 2016.01.11
PCI passthrough on KVM  (0) 2015.08.07
CentOS 6, KVM에 guest OS bridge 네트워크 설정법  (0) 2015.04.03

1. KVM 설치
CentOS를 설치할 때, 세부 설정을 선택할 수 있다.
Virtualization항목을 선택하면, KVM을 설치할 수 있다.
만약, 나중에 별도로 설치하고자 한다면,

yum groupinstall KVM

을 실행시키자.

2. bridge-utils 설치
만약, 설치가 안되어 있다면 설치하자.

yum install bridge-utils

3. network-scripts 변경 (host)
호스트가 기본적으로 사용하는 eth0의 설정을 변경하고, 브릿지로 맺어줄 설정을 추가해야 한다.
/etc/sysconfig/network-scripts/ifcfg-eth0 파일을 열어서 한 줄을 추가하고, 저장한다.

BRIDGE=br0

이제 br0의 내용을 만들자.
/etc/sysconfig/network-scripts/ifcfg-br0 파일을 만들자.

DEVICE=”br0″

BOOTPROTO=none

IPV6INIT=”yes”

IPV6_AUTOCONF=”yes”

ONBOOT=”yes”

TYPE=”Bridge”

IPADDR=192.168.1.7

GATEWAY=192.168.1.1

DEROUTE=yes

IPV4_FAILURE_FATAL=yes

DNS1=192.168.1.1

DELAY=0

 

위 내용은 직접 설정한 값이다.
이와 같이 설정을 마치면, 일단 eth0과 br0은 연결될 것이다.

이제 KVM에서 guest OS를 설치할 때, Advanced Option을 살펴보면,
네트워크 설정 옵션으로 Bridge이 선택 가능할 것이다. (기존에는 NAT만 설정 가능)

이대로 설치하면, guest OS를 bridge network로 설정한 상태가 된다.

4. NetworkManager, network 설정

chkconfig NetworkManger off
chkconfig network on
service NetworkManager stop
service network restart

5. network-scripts 변경 (guest)
이제 guest OS를 시작시키자.
마찬가지 방법으로, guest OS의 IP 등 정보를 원하는 대로 수정하자.

이렇게 설정을 하고, guest OS에 ssh 접속하였더니 내가 설정한 IP로 접속이 잘 된다.
그런데, host OS에 ssh 접속을 하였더니 갑자기 잘 안된다!

살펴보니, 나의 경우 위와 같이 설정을 하고 설치를 하지 않고, 먼저 무작정 설치를 한 까닭에
NAT로 설치가 되며 호스트 OS의 네트워크 설정에 변화가 생겨버렸다.

6. virbr0 삭제
ifconfig으로 조회해 보니, virb0이 발견되었다.

가상 네트워크 리스트를 다음과 같이 확인할 수 있다.

virsh net-list

상태에 default 네트워크라고 이름이 뜨고, 상태는 active라고 표시되어 있다.
이것을 지워주자.

virsh net-destroy default
virsh net-undefine default
service libvirtd restart

다시 virsh net-list를 실행하여, 정상적으로 작업이 적용되었는지 확인하자.
나의 경우, virbr0 삭제까지 마친 후, 정상적으로 host, guest OS를 원하는 IP로 맞춰서 쓸 수 있게 되었다.

'virtualization' 카테고리의 다른 글

esxi 6 드라이버 업그레이드  (0) 2016.11.30
spice 설정 자료  (0) 2016.02.01
KVM nested virualization  (0) 2016.01.11
PCI passthrough on KVM  (0) 2015.08.07
kvm 설치 centos  (0) 2015.04.03

+ Recent posts