320x100

 

장애내용

 기존 OS미러링(hdisk0, hdisk1) 으로 구성하여 서비스를 운영중인 시스템에서 디스크 장애(hdisk1)가 발생하였습니다.

1. errpt 명령어로 확인하였을때 hdisk1 [DISK OPERATION ERROR] 가 발생한것 을 확인하였습니다.

2. VG 미러링 상태를 확인하였을때 LV상태가 open/syncd(정상)상태에서 open/stale(비정상)상태로 변경된 것을 확인하였습니다.

 

 

조치방법

1. 미러링 해제 작업

 - smitty unmirrorvg 명령어로 장애디스크(hdisk1) 선택 후 실행해줍니다.

 - VG 상태확인 : PVs 가 1로 변경되었고 hdisk1에는 lv가 존재하지 않는것 을 확인 할 수 있습니다.

 

 

2. 장애디스크(hdisk1) 제거

 - rootvg 에서 장애디스크(hdisk1) 를 제거 해줍니다.

 

 

3. 장애디스크(hdisk1) 교체 작업

 - diag > Task Selection > Hot Plug Task > SCSI and SCSI RAID Hot Plug Manager > Replace/Remove a Device Attached to an SCSI Hot Swap Enclosure Device 메뉴로 들어가줍니다.

 - 교체할 디스크 물리적 위치와 OS에 인식단 Device(hdisk1) 이름을 확인 한 후 교체를 진행합니다.

 - 해당화면에서 디스크 선택 후 엔터를 하면 rmdev 명령어가 실행되며, 물리적 위치에 주황색 LED가 표시됩니다.

 - 장애 디스크 제거 후 신규(new) 디스크로 교체해주고 엔터를 입력하면, 교체가 완료됩니다.

 

 

4. 신규(new) 디스크 인식 및 rootvg 미러링 작업

 - 신규 디스크가 hdisk1 디바이스명으로 인식 된것 을 확인합니다.

 - hdisk1 디바이스를 extendvg 명령어를 사용하여 rootvg에 추가해줍니다.

 - smitty mirrorvg 명령어로 미러링을 진행합니다.

 

 

5. OS 미러링 확인 및 bootlist 설정

 - PVs 가 1에서 2로 변경된것을 확인 할 수 있습니다.

 - 또한 LV상태를 확인 하였을때 open/stale 로 확인되며, 시간이 지나면 open/syncd 로 변경됩니다.

 - 부트이미지를 hdisk0, hdisk1 디바이스에 생성해줍니다.

 

오늘은 디스크 장애 상황에 조치하는 방법에 대해서 알아 보았습니다.

감사합니다.

반응형
320x100

안녕하세요.

오늘은 SSH 키 인증 방식 변경에 따른 이슈내용을 정리해보았습니다.

 

장애내용

 기존 client server에 접속할때는 ssh-rsa 방식으로 SFTP 접속을 하여 서비스를 정상적으로 하고 있었는데, OS재기동 이후 접속에러가 발생하여 서비스 장애가 발생하였습니다.

 

 이후 서비스 정상화를 위해 client 에서 known_host에서 server 호스트 내용 삭제 후 서비스가 정상화 되었지만, 키 알고리즘 인증 방식이 ecdsa-sha2-nistp256로 변경되었는 것을 확인 하였습니다.

 

 Server에서 /etc/ssh/sshd_config 파일을 확인해본 결과, 기본설정에서 아래내용이 추가 되어 있는 상태를 확인 하였습니다.

. . .
HostKeyAlgorithms +ssh-dss
PubkeyAcceptedKeyTypes +ssh-dss

해당 내용에 대해서는 아래에서 확인해 보겠습니다.

 

sshd_config 파일의 ssh-dss 내용 추가 관련

 OpenSSH 7.0 이상은 유사하게 ssh-dss(DSA) 공개 키 알고리즘을 비활성화합니다.

권장 사항은 DSA 사용을 중단하고 RSA 또는 ECDSA와 같은 더 강력한 것으로 이동하는 것입니다.

 

ssh-dss 를 사용하는 client 가 있어서 비활성화된 DSA키를 사용을 활성화 시켜주기 위해 추가한 것으로 판단되며,

장애내용(ssh-rsa접속에러)과는 관련이 없어 보입니다.

 

테스트 내용

1. 테스트 환경

- 계정 A node1 서버에서 계정B node2 서버에 ssh 접속

- AIX7.2-04-02, OpenSSH_8.1p1, OpenSSL 1.0.2u

 

2. 상태 확인

- node2(Server) 에서 현재 동작중인 SSH상태 확인

[node2:root]/>sshd -T | grep -E "hostkeyalgorithms|pubkeyacceptedkeytypes"
hostkeyalgorithms ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
pubkeyacceptedkeytypes ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
[node2:root]/>ssh -Q key
ssh-ed25519
ssh-ed25519-cert-v01@openssh.comssh-rsa
ssh-dss
ecdsa-sha2-nistp256
ecdsa-sha2-nistp384
ecdsa-sha2-nistp521
ssh-rsa-cert-v01@openssh.com
ssh-dss-cert-v01@openssh.com
ecdsa-sha2-nistp256-cert-v01@openssh.com
ecdsa-sha2-nistp384-cert-v01@openssh.com
ecdsa-sha2-nistp521-cert-v01@openssh.com

  현재 동작중인 SSH의 설정에는 ssh-rsa 키 값이 등록되어 있는 것을 확인할 수 있습니다.

 

3. node1에서 node2로 SSH 접속 테스트

 별도의 설정 없이 접속을 시도하면 ECDSA 키로 접속이 됩니다.

[node1:A]/home/A>ssh B@node2
The authenticity of host 'node2 (10.50.1.82)' can't be established.
ECDSA key fingerprint is SHA256:wGuzLouLnH8Z5cmAstejqgt5fKcN2T1dQoUqPaJN1Z0.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

 

 별도의 옵션을 입력 후 접속을 시도하면 RSA키로 접속하게 됩니다.

해당 옵션으로 접속한 이력이나 관련 내용이 있는지 확인이 필요합니다.

[node1:A]/home/A>ssh -o HostKeyAlgorithms=ssh-rsa B@node2
The authenticity of host 'node2 (10.50.1.82)' can't be established.
RSA key fingerprint is SHA256:E/SVly/rC5mRNKTrWVovYWx2rvuSah2o7amNT73fKe4.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

 

node1서버의 A계정 /.ssh 폴더 밑에 config 파일 작성 후 별도의 옵션 없이 rsa 접속이 됩니다.

[node1:A]/home/A/.ssh>vi config
Host node2
        HostKeyAlgorithms=ssh-rsa
 
[node1:A]/home/A/.ssh>ssh B@node2  
The authenticity of host 'node2 (10.50.1.82)' can't be established.
RSA key fingerprint is SHA256:E/SVly/rC5mRNKTrWVovYWx2rvuSah2o7amNT73fKe4.
Are you sure you want to continue connecting (yes/no/[fingerprint])?

 

 테스트 결과, 특정 옵션 hostkey 알고리즘 값을 ssh-rsa 로 수동으로 입력 해주면 RSA Key 를 사용하여 접속을 시도하는 것을 확인 할 수 있었습니다.

 

 추가적으로 다른 SSH설정이나 OS환경(Server, Client) 변경에 따라 알고리즘 값이 변경되었을 수 도 있을 것 같습니다.

해당 테스트 내용은 참고만 해주시면 감사하겠습니다.

 

오늘도 좋은 하루 되세요 ^^

 

반응형
320x100

 

 

안녕하세요.

오늘은 hostid에 대해서 알아보겠습니다.

 

hostid란?

 일반적으로 hostid는 고유의 값으로 특정 솔루션의 License 를 OS별로 구분하기 위해 사용됩니다.

hostid 명령어로 출력되는 값은 현재 로컬 호스트의 ID(고유한 호스트 이름 또는 숫자 인수)를 16진수로 표시합니다

이 숫자 값은 모든 호스트에서 고유할 것으로 예상되고 일반적으로 InternetAddress 또는 HostName 매개변수에 의해 지정되는 호스트의 주소로 설정됩니다.

루트 사용자는 HexNumber, InternetAddress 또는 HostName 매개변수에 대해 16진수를 지정하여 hostid 명령을 설정할 수 있습니다.

 

hostid 확인 및 설정방법

1. hostid 확인

[node1:root]/>ifconfig -a
en0: flags=1e084863,114c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD(ACTIVE),LARGESEND,CHAIN>
        inet 10.50.1.83 netmask 0xffffff00 broadcast 10.50.1.255
        inet 10.50.1.81 netmask 0xffffff00 broadcast 10.50.1.255
         tcp_sendspace 262144 tcp_recvspace 262144 rfc1323 1

[node1:root]/>cat /etc/hosts
...
10.50.1.82      node2
10.50.1.83      VIP
10.50.1.81      node1

[node1:root]/>netstat -nr | grep default
default            10.50.1.1         UG        2      5946 en0      -      -

[node1:root]/>hostid
0xa320151

  위의 내용을 보시면 현재 en0 인터페이스를 사용하여 메인IP가 구성되어 있습니다.

현재 hostid 결과값은 0xa320151 으로 표시가 됩니다. 이 값은 메인 IP인 [10.50.1.81] 주소를 16진수로 표시한 값이 됩니다.

 

2. hostid 변경 테스트

<테스트1>
[node1:root]/>hostid 10.50.1.84
[node1:root]/>hostid
0xa320154
[node1:root]/>shutdown -Fr
============================
OS 재부팅 후 재접속
[node1:root]/>hostid
0xa320151

<테스트2>
[node1:root]/>hostid 10.50.1.84
[node1:root]/>hostid
0xa320154
[node1:root]/>
[node1:root]/>/etc/rc.net
[node1:root]/>hostid     
0xa320151

 OS상에서 임의로 hostid 값을 변경이 가능하지만, OS 재부팅을 할경우에는 현재 IP, /etc/hosts 파일에 상응하는 기존 hostid 값 0xa320151 으로 돌아오는 것을 확인할 수 있습니다.

 또한 임의로 hostid를 변경한 후, /etc/rc.net 파일을 실행 해주어도 기존 hostid값으로 변경되는 것이 확인됩니다.

320x100

3. 고정된 hostid 설정

 일반적으로 시스템을 구축한 이후 메인IP와 hostname이 변경할 일은 거의 없습니다.

하지만 특정작업으로 인해 IP가 변경되는 경우에는 hostid 값이 변경되게 됨으로 기존에 사용하던 솔루션들이 정상적으로 구동하지 못하는 경우가 생기게 됩니다. 또한 변경된 hostid에 따른 신규 라이센스를 발급받아야 되는데 솔루션마다 차이가 있겠지만 어느정도의 시간이 소요되는 걸로 알고 있습니다.

 일반적으로 hostid 를 특정 값으로 고정하기 위해서는 /etc/rc.net System Booting 중 읽어 들이는 파일에 설정을 해서 사용합니다.

[node1:root]/>vi /etc/rc.net
........
##################################################################
# Set the hostid and uname to `hostname`, where hostname has been
# set via ODM in Part I, or directly in Part II.
# (Note it is not required that hostname, hostid and uname all be
# the same).
/usr/sbin/hostid`hostname`            >>$LOGFILE 2>&1
/bin/uname -S`hostname|sed 's/\..*$//'` >>$LOGFILE 2>&1

##################################################################

<변경 후>
........
##################################################################
# Set the hostid and uname to `hostname`, where hostname has been
# set via ODM in Part I, or directly in Part II.
# (Note it is not required that hostname, hostid and uname all be
# the same).
/usr/sbin/hostid 0xa320154         >>$LOGFILE 2>&1
/bin/uname -S`hostname|sed 's/\..*$//'` >>$LOGFILE 2>&1

##################################################################

[node1:root]/>/etc/rc.net   
[node1:root]/>hostid
0xa320154

 /etc/rc.net 파일에 `hostname` 값을 바꾸고 싶은 hostid 값으로 변경해주고, /etc/rc.net 파일을 실행해줍니다.

그러면 설정한 값으로 변경된 것을 확인할 수 있으며, OS가 재부팅될때 마다 고정된 값으로 설정되게 됩니다.

/etc/rc.net 파일 이외에도 해당 command Line을 별도의 Booting 과정에 실행되는 파일에 설정하셔도 됩니다.

 

감사합니다.

오늘도 즐거운 하루되세요 ^^

 

 

 

 

 

 

 

반응형
320x100

안녕하세요.

 일반적으로, HMC 장애로 인해 OS를 재설치가 필요한 경우, HMC Recovery 이미지가 들어있는 DVD나 USB를 사용하여 설치를 진행하게 됩니다.

 

오늘은 [HMC_Recovery_V9 R2 M950] 이미지를 Booting이 가능한 USB로 생성하는 방법을 알아보겠습니다.

 

 일반적으로는 Bootable USB 디바이스를 생성할때는 rufus 나 ultraiso, 이응 같은 윈도우 소프트웨어를 사용하여 Bootable USB를 생성할 수 있습니다.

 하지만, 위에 말씀드린 소프트웨어를 사용하여 요즘 설치되는 HMC버젼인 V9 R2 이상의 Recovery 디스크를 준비할 때 문제가 발생합니다. USB부팅 디스크를 만들고 확인을 하면 정상적인 파티션 유지가 되지않고 5GB 용량이 아닌 760MB정도의 용량으로 변형되는 것을 확인 하였습니다.

 

 이전에 출시하였던 HMC_Recovery V9 R1 이하 버젼은 모두 이미지 용량이 4GB 미만이였습니다.

그래서 일반적으로 4.7GB DVD 1장으로 이미지 굽기가 가능하였지만, 최근에 출시된 HMC_Recovery V9 R2 이상부터는 용량이 증가되어 8GB DVD로만 이미지 굽기가 가능합니다.

 이해하기 쉽게 HMC 버젼별 용량을 비교해보겠습니다.

HMC 버젼 용량
V10 R1 M1010 5064181760 (약 4.71GB)
V9 R2 M950 5056612352 (약 4.7GB)
V9 R1 M910 4223098880 (약 3.9GB)
V8 R870 3625891840 (약 3.3GB)

 

그럼 windows에서 dd명령어를 이용하여 부팅 USB를 만드는 방법을 알아보겠습니다.

 

windows dd를 이용한 Bootable USB 장치 생성

 

1. dd for windows 소프트웨어 다운로드

 아래주소에서 사용법 확인과 파일 다운로드가 가능합니다.

 http://www.chrysocome.net/dd

 

2. USB 준비

 저는 8GB 용량의 USB를 준비하였고 FAT32 파일시스템으로 포멧을 진행하였습니다.

파일시스템별 특징은 찾아보시길 바랍니다.

3. windows dd를 이용한 Bootable USB 생성

 먼저 windows 상에서 cmd창으로 들어간다음 다운받은 dd파일이 있는 폴더로 들어가줍니다.

dd.exe --list 명령어로 인식된 USB정보를 확인해줍니다.

위의 명령어를 실행하면 USB에 데이터를 입력하게 됩니다. 총 [5,056,612,352] Byte 가 작성되었고 이용량은 HMC_Recovery_V9R2M950 이미지 용량과 동일한 것을 확인하시면 정상적으로 완료되었다고 생각하시면 됩니다.

 

감사합니다.

 

 

 

 

 

 

반응형

+ Recent posts