linuxer-admin

NCP-NAVER-Cloud-Platform-Certified-Associate-review

안녕하세요. 누리클라우드 / 호스트센터 의 정태환입니다.

근래에 NCP 자격증에 대해서 관심이 높아지고 있어서 몇번 문의를 받았습니다.
그래서 NCP 의 교육과 자격증에 대해서 리뷰를 적어보려 합니다.

NCP 의 자격증은

NAVER Cloud Platform Certified Associate

NAVER Cloud Platform Certified Professional

NAVER Cloud Platform Certified Expert

세가지의 자격증으로 나뉘어져 있습니다.

각 시험은 여러개의 과목으로 나뉘어져있고, NCA / NCP / NCE로 명칭합니다.

NCA는 1개의 과목 NCP는 3개 NCE는 5개 입니다.

현재 아직 NCE는 응시할 수 없습니다.

문의 해본 결과 8월 출시될 예정이라 합니다.

https://www.ncloud.com/support/certExam

자세한 내용은 링크를 참고하시기 바랍니다.

NCA review 를 본격적으로 진행하자면 두가지를 봐야합니다.

https://docs.ncloud.com/ko/

https://www.ncloud.com/product

NCP의 docs 와 서비스 리스트입니다.

NCA시험유형은 다른 퍼블릭 클라우드의 시험과 좀 사뭇 다릅니다.

일반적으로 aws / azure /gcp 등의 시험같은 경우에는 role에 따라 시험과목이 나누어져있는 경우가 대부분 입니다. sa / dev / ds 등과같은 방식으로 역할에 따라 시험의 과목을 나누는데 NCP의 시험은 자격증을 취득하기 위해선 각각의 도메인에 대해서 합격해야 자격증이발급 됩니다.

설명은 여기까지 하고 본론으로 들어가겠습니다.

NCA는 Overview / Compute / Storage / Network / Media 총 다섯가지에 대해서 시험을 보게됩니다. 사실 Overview 때문에 정확하게 나뉘어지지는 않고 NCP의 서비스에 대해서 정확하게 알고 있는지 질문 합니다. NCA의 난이도는 높지 않지만 그렇다고 해서 준비하지 않으면 굉장히 어려워지는 시험입니다.

그럼 시험 준비에 어떤 부분이 어려울지 나름 분석을 해봤는데요, 역시 Overview 의 부분이었습니다. 과목의 범위가 어디서 어디인지 알수없기 때문인데요..

Compute / Storage / Network / Media 네가지의 도메인에 대해선 비교적 명확하게 알수있지만 overview 의 깊이는 알기가 어렵습니다.

그래서 제가 경험한 부분을 간접적으로 알려드리려 합니다.

먼저 최대치에 대해서는 반드시 알아야 합니다. 예를 들어 서 1G당 iops 와 최대 iops 같은 것입니다.

Overview에는 AI 서비스도 포함됩니다. 깊은 레벨의 질문은 아니지만 서비스에 대해선 명확하게 알아야 합니다.

서비스의 분류또한 중요합니다. IPsec VPN /SSL VPN의 분류가 어떻게 되는지 알아야 하는것처럼요.

그냥 DOCS 만 바라봐서는 정확한 이해가 어렵습니다.

인스턴스 생성 / 로드벨런서 생성 / 오토스케일링 생성
이 과정 자체는 꼭 생성과정을 이해해야 합니다. 실습을 해보시기 바랍니다.

그럼 마지막으로 Overview 에서 본 과목에 대해서 나열을 하는 식으로 끝내보려 합니다.

VMWare ON Cloud / WORKPLACE / Cloud hadoop / Ncloud cli / Backup / Cloud log Analytics / NAT 의 작동방식 / Data Teleporter / AI

두서없이 나열을 했는데 공부하는데 도움이 되시기 바랍니다.

NCA 자격증을 인증하면서 글을 마칩니다.

합격하세요!

GCP-PCNE-JBL-Clip3-Review

4월에 PCNE를 취득하고 벌써 3개월 가량이 흘렀다.

해야지 해야지 하고 미루고 미루다 드디어 오늘 PCNE를 취득하고 난 다음 받은 굿즈를 인증겸 리뷰겸 하려 한다.

PCNE 리뷰는 위의 글을 참고하자.

시험을 다치고나서 2달뒤 당도했다.

문명5 세종에 그루브를 입혀봐요 - YouTube

조선의 IDC에 당도한것을 환영하오. 낯선 "JBL Clip3"여.
나는 나의 훌륭한 인스턴스들을 굽어살피는 깨우친 엔지니어, 리눅서요.

드립은 그만 치고 뜯었다.

스티커와 함께 들어있는 Clip3 의 자태가 보인다. 뜯는다.

굿즈의 모습이 아름답다. 이 영롱함을 보려고 PCNE를 두번봤다.

모양은 구글홈미니랑 비슷한 크기에 클립이 달려 있는 모양이다. 튼튼해 보이는 외형에 방수까지 달렸다. 흔히 아웃도어 스피커라 하는 분야의 스피커에 가깝다.

제일 감탄했던건 JBL마크의 붉은 빛의 영롱함이다. 예쁘다.

총평은 패키징이 좋다. 마크는 그냥 판박이 붙여 놓은거 같지만... 예쁘다.

소리는 전원을 키면 일렉기타를 치는 소리가 들리며 스피커가 켜진다. 블루투스 스피커이며, 지연은 없는듯하다. 소리는 저음과 베이스가 강한편.

크기가 작지만 3.3W / 80dB 이다. 크다면 크고 작다면 작은...

샤워할때 주로쓴다.

젖어도 되는 스피커. 좋지 아니한가!

NCP-CentOS7-to-CentOS8

NCP 에선 centos8을 지원하지 않는다. 그런데 yum update 를 해서 커널이 변경되면 정상적으로 부팅되지 않는다.

이런 내용들이 인스턴스를 생성할때 안내된다.

그런데, 어제 퇴근후 Meetup과정에서 KR-2 zone은 yum update 가 가능하다는 내용을 전달 받았다. 어쩐지 가끔 yum update 해도 정상적으로 부팅되는 인스턴스가 있더라니..

퇴근길 Meetup - 퇴근길 Tech Meetup 서버 관리 자동화 자료이다.

여기에서 이상함을 느끼고 여쭤봤더니 KR-2에서 하라고 하셨다..그래서 오늘작업의 힌트를 얻었다...

최신의 OS 를 사용하고 싶은건 엔지니어의 본능이 아닌가? 그래서 테스트를 시작했다.

준비물은 다음과 같다.

서버이미지 centos 7.3으로 생성된 인스턴스 한대다.

ACG-포트포워딩-root password 확인 이런 부분은 서버생성 가이드를 참고하자.

https://docs.ncloud.com/ko/compute/compute-1-1-v2.html

인스턴스를 생성하고 인스턴스에 접속하자 마자 할일은 yum update 이다.

yum update -y

업데이트를 마무리하면 epel repo를 설치해 사용할 수 있다.

yum install epel-release -y

epel을 설치하는 이유는 dnf 를 사용하기 위함이다. yum->dnf 로 패키지 설치 방법을 변경할거다.

yum install -y yum-utils rpmconf
rpmconf -a

rpmconf -a 를 입력하면 패키지의 conf를 업데이트 할지를 물어본다.

/etc/sysctl.conf
/etc/profile
/etc/shells
/etc/login.defs
/etc/nsswitch.conf
다섯개의 파일에 대해서 물어보는데 나는 모두 새로 인스톨하는것을 택했다. centos8 로 갈꺼니까.

package-cleanup --leaves
package-cleanup --orphans

다음은 패키지를 cleanup 하고, epel 을 설치한 이유인 dnf 를 설치한다.

yum install dnf -y

dnf 는 centos8 부터 기본적용된 rpm 패키지 관리 패키지인데 yum 에서 dnf로 변경됬다.
dnf 를 설치했다면 yum 을 지우자.

dnf -y remove yum yum-metadata-parser
rm -Rf /etc/yum

yum 을 지우고,

dnf install -y http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-repos-8.2-2.2004.0.1.el8.x86_64.rpm http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-release-8.2-2.2004.0.1.el8.x86_64.rpm http://mirror.centos.org/centos/8/BaseOS/x86_64/os/Packages/centos-gpg-keys-8.2-2.2004.0.1.el8.noarch.rpm

이제 centos8의 repo를 설치한다.

dnf -y upgrade https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

epel7 을 epel8로 업데이트 한다. 이제 centos8 패키지를 다운받을 수 있다.

dnf clean all

dnf 캐시를 clean 한다.

rpm -e `rpm -q kernel`
rpm -e --nodeps sysvinit-tools

rpm 명령어로 커널을 지운다. 여기서 모든 패키지가 삭제되지 않기때문에 후처리가 좀 필요하다.

dnf remove kernel-devel-3.10.0-1127.13.1.el7.x86_64 kernel-devel-3.10.0-327.22.2.el7.x86_64 kernel-devel-3.10.0-514.2.2.el7.x86_64 redhat-rpm-config iprutils-2.4.17.1-3.el7_7.x86_64 sysvinit-tools-2.88-14.dsf.el7.x86_64 sysvinit-tools-2.88-14.dsf.el7.x86_64 python36-rpmconf-1.0.22-1.el7.noarch

후에 의존성이 걸릴 패키지를 미리 삭제한다. 이 경우 NCP centos7.3 인스턴스에 맞춰서 의존성 패키지를 삭제한것이다. 의존성 문제가 발생하면 더삭제 해줘야 한다. 부담감 느끼지 말고 막 날리자. 안되면 처음부터 다시하면 된다.

dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync

명령어로 centos8 패키지를 설치한다. 새로 설치되는 패키지들을 유심히 보면 el8.x86_64 로 끝난다 centos8 사용하는 패키지 명으로 RHEL8 이라는 뜻이다. centos8 패키지가 잘설치된다는 소리다.

Complete!

이 단어가 보이면 거의 다된거다.

dnf -y install kernel-core
dnf -y groupupdate "Core" "Minimal Install"

dnf groupupdate 로 Core 와 Minimal Install 까지 업데이트 해주면 이제 된거다.

[root@s17308f26023 ~]# uname -a
Linux s17308f26023 3.10.0-514.2.2.el7.x86_64 #1 SMP Tue Dec 6 23:06:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@s17308f26023 ~]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)

리부팅을 아직 안해서 릴리즈는 올라갔으나, 커널버전은 centos7 이다. 이제 리부팅 해주자.

[root@s17308f26023 ~]# date
Wed Jul 1 15:50:15 KST 2020
[root@s17308f26023 ~]# cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)
[root@s17308f26023 ~]# uname -a
Linux s17308f26023 4.18.0-193.6.3.el8_2.x86_64 #1 SMP Wed Jun 10 11:09:32 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

이제 NCP에서 Centos8을 올렸다!

차후 커널지원이나 업데이트에 따라서 OS가 정상작동하지 않을수 있다. 모니터링이 문제가 될거라 생각했는데 잘돈다...

Centos8을 NCP에서 사용하고 싶다면 한번 진행해 보시기 바란다.

읽어 주셔서 감사하다!

AWS-userdata-glusterFS-install

#!/bin/bash
(echo n; echo p; echo 1; echo 2048; echo; echo t; echo 83; echo w) | fdisk /dev/xvdf
mkfs.xfs -i size=512 /dev/xvdf1
mkdir -p /bricks/brick1
echo "/dev/xvdf1 /bricks/brick1 xfs defaults 1 2" >> /etc/fstab
mount -a && mount
yum install -y centos-release-gluster
yum install -y xfsprogs glusterfs-server
systemctl enable glusterd
systemctl start glusterd
Setenforce 0
sed -i 's/^SELINUX=./SELINUX=disabled/g' /etc/sysconfig/selinux && cat /etc/sysconfig/selinux echo " soft nofile 65535" >> /etc/security/limits.conf
echo "* hard nofile 65535" >> /etc/security/limits.conf
chmod 744 /etc/rc.d/rc.local

ec2 userdata glusterfs install 스크립트 입니다.

https://wiki.centos.org/SpecialInterestGroup/Storage/gluster-Quickstart

AWS-EC2-Root-volume-downsize-amazonlinux2-xfs

작업의 흐름은 위 포스팅을 참고하기 바란다.

지금 포스팅은 xfs grug2 를 사용하는 사용자를 위한 포스팅이다.

amazon linux2 에 소스(xvdg)와 대상(xvdf)볼륨을 연결한다.

디렉토리를 생성하고

# mkdir /mnt/new
# mkdir /mnt/org

파티션을 생성하고

# fdisk /dev/nvme1n1

파일시스템을 생성하고

# mkfs.xfs -f /dev/nvme1n1p1

마운트한다

# mount -t xfs /dev/xvdf1 /mnt/new
# mount -t xfs /dev/xvdg1 /mnt/org

rsync 로 데이터를 복사해주고

# rsync -av /mnt/org/* /mnt/new

싱크가 끝나면 마운트한 경로로 이동한다.

# cd /mnt/new

그리고 blkid 를 이용하여 UUID 를 확인한다.

/dev/nvme1n1: PTUUID="9986d28e" PTTYPE="dos"
/dev/nvme1n1p1: LABEL="/" UUID="030df8fc-fb40-4ba6-af3e-662df2f52270" TYPE="xfs" PARTUUID="9986d28e-01"
/dev/nvme0n1: PTUUID="83181c97-6d5e-43c9-9ede-e2f50ead5338" PTTYPE="gpt"
/dev/nvme0n1p1: LABEL="/" UUID="55da5202-8008-43e8-8ade-2572319d9185" TYPE="xfs" PARTLABEL="Linux" PARTUUID="591e81f0-99a2-498d-93ec-c9ec776ecf42"
/dev/nvme0n1p128: PARTLABEL="BIOS Boot Partition" PARTUUID="4908ae49-9d5b-423e-a23c-a507a47bacf5"

일반적으론 UUID가 있을거지만.. 그경우엔 UUID 를 넣어주자.

# xfs_admin -U 'uuidgen' /dev/xvdf1

명령어로 UUID 생성해서 넣어줄수 있다. UUID 가 보인다면 new / org 변수에 UUID 를 export 해주자 UUID 는 사람마다 다들테니 각각 잘확인해서 복붙하자.

# export new=’3a26abfe-67eb-49e4-922a-73f6cd132402’
# export org=’781f875d-4262-4f01-ba72-d6bd123785f5’
# sed -i -e "s/$org/$new/g" etc/fstab
# sed -i -e "s/$org/$new/g" boot/grub2/grub.cfg
# mount -B /dev dev
# mount -B /proc /proc
# mount -B /sys sys
# chroot .

위 명령어를 치면 /mnt/new 경로에서 지정한 UUID 로 fstab 안의 UUID를 변경하고 grub.cfg 안의 UUID 또한 자동으로 치환해줄거다. 그런다음 3개의 경로를 bind mount 하고 현재위치에서 chroot . 를 치면 chroot 가 현재위치로 변경된다.

# grub2-install /dev/xvdf

chroot 가 정상적으로 먹는다면 볼륨을 변경하면 정상적으로 잘부팅된다.

테스트 해보고 꼭 작업하길 바란다.

수고하시라!