kakao Cloud school 2기 D+16

LEE EUI JOO·2022년 11월 21일
0

Virtualization

목록 보기
3/11
post-thumbnail

1. PxE Server

  • 네트워크를 통해 OS 를 설치 하는 서버
  • Kickstart 기능을 통해 설치 과정을 완전 자동화할 수 있고, 커스터마이징 가능하다

1-1 실습

> yum -y install dhcp
dhcp 로 client 에게 IP를 제공한 뒤 , 클라이언트 에서 ISO 파일을 자동으로 불러오게 만들 것이다.

> vi /etc/dhcp/dhcpd.conf
클라이언트 대역대 파일 수정

> systemctl restart dhcpd
> systemctl enable dhcpd
재시작 및 실행

> systemctl stop firewalld
> systemctl disable firewalld
방화벽 해제

> vi /etc/selinux/config
셀리눅스 off - disabled 로 수정

> init 6
reboot

> getenforce 
명령어로 확실히 꺼졌는지 확인

> yum install -y tftp-server
tftp 서버 설치

> vi /etc/xinetd.d/tftp
diable - no 로 수정

> systemctl restart tftp
> systemctl enable tftp
재시작 및 실행

> yum -y intall vsftpd
vsftp패키지 설치

  • ftp://211.183.3.69

> ls /dev/cdrom
cdrom 확인

> mount /dev/cdrom /media
media 로 cdrom 파일 마운트

> ls /media
파일 확인

> cp -r /media/* /var/ftp/pub
media 의 전체 파일들을 pub 폴더로 이동

> yum install -y syslinux
syslinux 설치

  • Connected 체크 필수
> cp /var/ftp/pub/images/pxeboot/vmlinuz /var/lib/tftpboot/
커널 압축파일 이동

> cp /var/ftp/pub/images/pxeboot/initrd.img /var/lib/tftpboot/
초기 램디스크 이동

> cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
부트로더 파일 이동
  • Kernel ?

> mkdir -p /var/lib/tfptboot/pxelinux.cfg
-p 옵션 : 부모 디렉토리가 없으면 만들어라
파일명 : pxelinux.cfg

> touch /var/lib/tftpboot/pxelinux.cfg/default
cfg 파일 하위에 default 파일 생성

> vi /var/lib/lib/tfptboot/pxelinux.cfg/default

***** 내용 입력 *****
DEFAULT CentOS7_Auto_Install

LABEL   CentOS7_Auto_Install
  kernel vmlinuz
  APPEND initrd=initrd.img repo=ftp://211.183.3.69/pub
********************
  • 주의 cfg 파일명 잘못됐음 pxelinux.cfg 파일로 수정해야함

  • Client 서버 생성해서 테스트 해보기 !

  • 내용

  1. 머신 이름 : PxE Client
  2. RAM : 2GB
  3. CD/DVD : Auto detect
  • 문제 발생
  1. IP를 못받아오면 DHCP 설정이 잘못된 것임.
  2. vmlinuz , initrd 파일을 못 받아오면 default 파일 혹은 tftp 동작 여부 및 파일 존재 여부 확인 해야함
  3. ftp 문제 시에는 default 파일 혹은 ftp 동작 여부, 방화벽 off, 파일 존재 여부 확인 해야함

2. PxE KICK START

  • OS 설치에 필요한 필수 설정 값을 추가하여 OS 설치 완료 단계까지 진행
> yum -y groupinstall "GNOME Desktop" "Graphical Administration Tools"
GUI 환경에서 실행하기 위한 패키지 

> init 5

  • init 3 환경

Linux Run Level

  • 0 : power off - 종료 모드
  • 1 : Rescue - 시스템 복구 모드 , 단일 사용자 모드
  • 2 : Multi-User - 단일 사용자 모드 사용하지 않음
  • 3 : Multi-User - 텍스트 모드의 다중 사용자 모드 , 단일 사용자 모드
  • 4 : Multi-User - 텍스트 모드의 다중 사용자 모드 , 단일 사용자 모드 사용하지 않음
  • 5 : Graphical - 그래픽 모드의 다중 사용자 모드, 단일 사용자 모드
  • 6 : Reboot

TUI (Text User Interface)
CLI (Command Line Interface)
GUI (Graphic User Interface)

  • Run Level 수정

    systemctl set-default graphical
    init 5 환경으로 부팅되어도 GUI 환경으로 계속하겠다.

  • kickStart 설정

  • root 계정으로 로그인

  • privacy = no

  • 계정 (google, chrome) 스킵

> yum -y install system-config-kickstart
kickstart 패키지 설치
  • System Tools -> Kickstart

  • Time Zone : Asia/Seoul

  • Reboot system after installation

  • Installation Method
    -> FTP Server : 211.183.3.69
    -> FTP Directory : pub

  • Add -> Partition Options

Partition Options 1
-> File System Type : swap
-> Fixed size : 2048

Partition Options 2
-> Mount Point : /
-> File System Type : xfs
-> Fill all unused space on disk : check
-> Format partition : check

  • 설정 파일 저장
    설정 파일 이름 : centos.ks
    설정 파일 위치 : File System/var/ftp (pub 폴더가 보여야 함)

> vi /var/ftp/centos.ks

****** 맨 밑줄에 내용 삽입******
%packages
@base
@core
@directory-client
@fonts
@gnome-desktop
@input-methods
@internet-browser
@x11
%end
******************************
> vi /var/lib/tftpboot/pxelinux.cfg/default
/pub 뒤에 
ks=ftp://211.183.3.69/centos.ks 문장 추가
  • Client Reboot - Reboot 후 GUI 환경 동작하고 설치 되는지 확인!

3. PxE Disk 추가

  • 반드시 server를 Shut Down 해준 상태에서 실시 해야함

  • Disk Add - 10GB / Disk Type (SCSI)

  • Shell로 돌아와서 시작
> ls /dev/sd*
SCSI 형식의 DISK 모두 보가

/dev/sda  첫번째 장치 (HW)
/dev/sd1  첫번째 Partition (SW)
/dev/sda2 두번째 Partition (SW)
/dev/sdb  두번째 장치 (HW) - 추가한 10GB 용량의 스카시 방식의 디스크
  • 장치에 파티션 만들기
> fdisk /dev/sdb

-> n : add a new partition
-> p : 주 파티션
-> 1
enter
enter
-> p : print
-> w : 저장 하고 exit 나가기

> ls /dev/sd*
정상적으로 파티션 됐는지 확인

> mkfs -t ext4 /dev/sdb1
파티션 포맷  - done 나오는지 확인

  • 마운트(Mount)
> mkdir /disk1
disk1 이라는 폴더를 생성

> mount /dev/sdb1 /disk1
마운트를 당하는 대상은 disk1

> df -h
마운트가 정상적으로 완료됐는지 명령어로 확인

  • 마운트를 하고 나서는 재부팅을 하면 마운트가 풀린다. 하지만, 안에있는 내용물이 날라가는 것은 아니니 염려말기!
> vi /etc/fstab
맨 밑줄에 /dev/sdb1		/disk1		ext4	defaults	0 0 추가

4. RAID (Redundant Array Inexpensive Disk)

• RAID 0 - striping (속도가 높은 대신 안정성이 떨어짐, 용량은 동일)
• RAID 1 - mirroring (속도 동일한 대신 안정성이 높고 용량은 50%) - 복제

  • PxE 서버 Power off
    1. 1GB 4개 추가 -> OK -> 재정렬

> ls /dev/sd*
만든 디스크 목록 확인

> ls -l /dev/sd*
리스트 형태로 목록 확인

> fdisk /dev/sdc 
첫번째 파티션 생성
  • sdc, sdd, sde, sdf 파티션 생성

  • t (타입지정)
  • fd (Linux raid auto)
  • SAVE - w

4-1. RAID 설정

  • mdadm ( Multi Desk ADmin) 명령어를 사용하기 위해 mdadm 설치
> yum -y install mdadm
mdadm 설치

--create [만들 /dev/md{숫자}] --level=[레이드버전] --raid-devices=[장치수][레이드 만들 장치명1] [레이드 만들 장치명2]...

4-2 RAID 0
> mdadm --create /dev/md0 --level=0 --raid-devices=2 /dev/sdc1 /dev/sdd1
레이드 버전=0, 장치 수=2, 레이드 만들 장치명(sdc1, sdd1)

> mkdir /raid0
mount /dev/md0 /raid0

4-2 RAID 1
> mdadm --create /dev/md1 --level=1 --raid-devices=2 /dev/sde1 /dev/sdf1
레이드 버전=1, 장치 수=2, 레이드 만들 장치명(sde1, sdf1)

  • mdadm Detail 확인
> mdadm --detail /dev/md1
RAID 1 확인

> mdadm --detail /dev/md0
RAID 0 확인

  • RAID 폴더
> cp -r /var/lib/tftpboot/* /raid0
raid 0 으로

> cp -r /var/lib/tftpboot/* /raid1
raid 1 으로

  • vi /etc/fstab 설정
> vi /etc/fstab
맨밑에 추가!
*********************************************
/dev/md0	/raid0		ext4	defaults	0 0
/dev/md1	/raid1		ext4	defaults	0 0
*********************************************
  • DISK 4,6 제거 (출처 : 홍*아 님 Notion)

RAID 0 → Disk 4 지운 후 변화 확인

sdc (Disk 3) 0:2

sdd (Disk 4) 0:3

RAID 1 → Disk 6 지운 후 변화 확인

sde (Disk 5) 0:4

sdf (Disk 6) 0:5

  • init 0 : power off 후 삭제

  • inactive!

  • mdadm --run /dev/md0 시도하여도 오류 발생 - 더이상 복구 불가
    WHY? RAID0 으로 진행했기 때문

  • 하지만 RAID 1 의 파일들은 살아있다.

  • RAID 1 Recovery
> vi /etc/fstab
md0 는 주석처리 해야함 계속 돌아갈 수 있기 때문

> init 0
  • VMWare 에서 1GB 짜리 하드디스크 생성
> ls -l /dev/sd*
디스크 파일 목록 보기

sdd의 파티션 파일인 /dev/sdd1 가 없음

  • 다시 파티션 생성
> fdisk /dev/sdd
-> n
-> p
-> enter
-> enter
-> t
-> fd
-> p
-> w (save)

  • RAID1 에 sdd1 디스크 추가
> mdadm /dev/md1 --add /dev/sdd1
md1에 sdd1 디스크 추가

> mdadm -D /dev/sdd1 
확인사살

  • mdadm 명령어

    	• --create --level --raid-devices
    	• --detail
    	• --stop
    	• --run
    	• --add













    
    









profile
무럭무럭 자라볼까

0개의 댓글