달력

42025  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

pax -r -s ',^/usr/local/secuplatesm/procsvr/cron,ps_cron_test/test,' -f ps_cron.tar

pax -r -s ',^//기존경로///,///풀 경로///,' -f 파일명.tar

pax -r -s ',^/,,' -l -p e -f 해당file.tar
- 풀 경로에서 실시하게되면 해당 디렉토리부터 절대경로 디렉토리로 압축 해제

 

[v480:/tmp/svr/tar_test]#tar tvf *

tar: blocksize = 11

-rwxr-xr-x   0/0     2560  4월  9 16:08 2010 /tmp/svr/db.sh

-rwxr-xr-x   0/0      564  4월  9 11:03 2010 /tmp/svr/db1.sh

 

[pax -r -s ',^/tmp/svr/,/tmp/svr/1/,' -f test.tar ]

 

 

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

[root@VM 20190914]# tar tvf aaa.tar

-rw-r--r-- root/root         0 2019-09-17 21:58 /tmp/logfile/2019091400.log

-rw-r--r-- root/root         0 2019-09-17 21:58 /tmp/logfile/2019091401.log

 

# tar xvf aaa.tar --strip-components=2

drwxr-xr-x 2 root root  4096  9월 17 23:31 aaa

-rw-r--r-- 1 root root 20480  9월 17 23:22 aaa.tar

[root@VM]# ll

합계 0

-rw-r--r-- 1 root root 0  9월 17 21:58 2019091400.log

-rw-r--r-- 1 root root 0  9월 17 21:58 2019091401.log

-rw-r--r-- 1 root root 0  9월 17 21:58 2019091402.log

 

Posted by 짜꾸미의골골몽
|

리눅스 시스템 상에서 테스트를 위해 시간과 날짜를 자주 변경합니다. 이에 좀 더 많은 활용이 가능하도록 date 명령어 활용법을 정리하였습니다.  

 

특히, 웹서비스와 시간 동기화를 위해서 날짜만 변경할 필요성이 존재하는데요. 이에 대해서도 기재하였습니다

 

■ 2009 년 03월 04일 10시10분10초로 시간 변경하기  [MMDDhhmm[[CC]YY][.ss]]

 

    # date 030410102009.10  

    --> date 03월 04일 10시 10분 2009년 10초

 

■ 2009 년 03월 04일 로 바꾸기

 

    # date -s 2009/03/04  

    --> "/" 날짜 단위를 표시. 시간은 00:00:00 으로 변경됨.

 

■ 10 시 10 분 10 초로 시간 변경하기

 

   # date -s 10:10:10  

    --> ":" 는 시간 단위를 표시.

 

■ 날짜만 변경하기(기준 날짜 2009/04/03일) :  시간은 그대로 유지.

  **  date [-s  datestr]  기본 문법.

 

1) 월 변경 하기.

    # date -s "1 months" 

      -->  월 필드를 +1 즉, 2009년 05월 03일로 변경(월 필드 1증가)

    # date -s "1 months ago" 

      -->  월 필드를 -1 즉, 2009년 03월 03일로 변경(월 필드 1감소)

2) 일 변경 하기.

    # date -s "2 day" 

      --> 일 필드를 +2 즉, 2009년 04월 05일로 변경(일 필드 2증가)

    # date -s "2 day ago" 

      --> 일 필드를 -2 즉, 2009년 04월 01일로 변경(일 필드 2감소)

3) 월 일 변경 하기

    # date -s "1 months 2day" 

      --> 월 필드 +1, 일 필드 +2, 즉, 2009년 05월 05일로 변경    

    # date -s "1 months 2day ago" 

      --> 월 필드 -1, 일 필드 -2 즉, 2009년 03월 01일로 변경   

 

 

 

DATE 확인 방법 : date +"%Y%m%d%H%M%S"

 

- 시간 / 날짜 변경 -

date -s 23:00:00

date -s '2015-10-10 23:00:00'

Posted by 짜꾸미의골골몽
|

[root@:/]  parted /dev/sdb

GNU Parted 1.8.1

Using /dev/sdb

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted)  mklabel gpt

Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?

parted: invalid token:  gpt

Yes/No?  yes                                                               

New disk label type?  [msdos]?  gpt                                        

(parted)  mkpart                                                           

Partition name?  []?   파티션 네임으로 중요하지 않습니다. 그냥 엔터                                             

File system type?  [ext2]?  [엔터]                                                

Start?  0                                                                   

End?  2GB or 100%  단일 파티션으로 사용할것이고, 2GB 디스크이기 때문에 시작= 0 ~ 끝 2GB로 합니다.

## 또는 mkpart primary 0 -1로 해도 된다. 이것은 처음부터 끝까지 잡겠다는 것이다.

 

(parted)  quit

Information: Don't forget to update /etc/fstab, if necessary.  

 

gpt 설정이 끝났습니다. 이것은 fdisk /dev/sdb 대신 parted로 mbr이 아닌 gpt를 생성한 것이죠.

[root@:/]  mkfs.ext3 /dev/sdb1

how do you mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

262144 inodes, 524279 blocks

26213 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=536870912

16 block groups

32768 blocks per group, 32768 fragments per group

16384 inodes per group

Superblock backups stored on blocks: 

 32768, 98304, 163840, 229376, 294912

Writing inode tables: done                            

Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 32 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.

[root@:/]  tune2fs -i 0 -o 0 /dev/sdb1      검사 안하겠다는 옵션

tune2fs 1.39 (29-May-2006)

Setting interval between checks to 0 seconds

Invalid mount option set: 0

[root@:/] mount /dev/sdb1 /backup

[root@:/]  fdisk -l

Disk /dev/sda: 8589 MB, 8589934592 bytes

255 heads, 63 sectors/track, 1044 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1         931     7478226   83  Linux

/dev/sda2             932         996      522112+  82  Linux swap / Solaris

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util fdisk doesn't support GPT. Use GNU Parted.

 

Disk /dev/sdb: 2147 MB, 2147483648 bytes

255 heads, 63 sectors/track, 261 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

/dev/sdb1               1         262     2097151+  ee   EFI GPT

Partition 1 has different physical/logical beginnings (non-Linux?):

     phys=(0, 0, 1) logical=(0, 0, 2)

Partition 1 has different physical/logical endings:

     phys=(1023, 254, 63) logical=(261, 21, 16)

 

 

참고 URL : http://hoohard.tistory.com/archive/20110221

Posted by 짜꾸미의골골몽
|

* eth0:1 디바이스에 등록된 virtual ip address: 192.168.0.12 (실제 src ip 가 될 가상 address)
# ip -f inet -o addr
1: lo    inet 127.0.0.1/8 scope host lo
2: eth0    inet 192.168.0.11/24 brd 192.168.0.255 scope global eth0
2: eth0    inet 192.168.0.12/24 brd 192.168.0.255 scope global secondary eth0:1

1. 라우팅 테이블등록
# vi /etc/sysconfig/network-scripts/route-eth0:1 <- 파일형식: route-[interface NAME]
58.58.58.58 via 192.168.0.1 src 192.168.0.12
각각의 인터페이스에 해당하는 라우팅테이블파일을 생성하여 위와 같이 추가합니다
 
2. 네트워크 서비스 재기동
# service network restart
 
3. 등록된 라우팅 테이블 확인 및 src ip 확인
[root@node1 network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
58.58.58.58  192.168.0.1     255.255.255.255 UGH   0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
 
[root@node1 network-scripts]# ip route show
58.58.58.58 via 192.168.0.1 dev eth0  src 192.168.0.12
192.168.0.0/24 dev eth0  proto kernel  scope link  src 192.168.0.11
169.254.0.0/16 dev eth0  scope link
default via 192.168.0.1 dev eth0
 
4. 실제 패킷 감시 (src IP확인)
[root@node1 ~]# ping 58.58.58.58
[root@node1 ~]# tcpdump -ni eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
06:21:44.702173 IP 192.168.0.12 > 58.58.58.58: ICMP echo request, id 20745, seq 1, length 64
06:21:44.703152 IP 58.58.58.58 > 192.168.0.12: ICMP echo reply, id 20745, seq 1, length 64
06:21:45.700775 IP 192.168.0.12 > 58.58.58.58: ICMP echo request, id 20745, seq 2, length 64
06:21:45.701587 IP 58.58.58.58 > 192.168.0.12: ICMP echo reply, id 20745, seq 2, length 64
06:21:46.704602 IP 192.168.0.12 > 58.58.58.58: ICMP echo request, id 20745, seq 3, leng

Posted by 짜꾸미의골골몽
|

1. ssh chroot 설정

- /etc/ssh/sshd_config 설정 파일에 아래와 같은 라인을 추가합니다.

#Subsystem      sftp    /usr/libexec/openssh/sftp-server -> 기존 설정 주석 처리

Subsystem       sftp    internal-sftp                     -> 아래 라인 추가

 

2. 사용자 별 chroot 설정을 위해 아래와 예제와 같이 chroot 디렉토리 설정

- /etc/ssh/sshd_config 설정 파일에 chroot 대상 계정을 추가합니다

Match user New_User

ChrootDirectory /Chroot_dir

-> 해당 설정을 이용하지 않고 ChrootDirectory 를 설정하는 경우 전역설정이 됩니다. 홈디렉토리가 아닌 다른 디렉토리를 chroot 디렉토리로 하는 경우 반드시 위의 설정을 이용하여야 합니다. 홈디렉토리로 설정하는 경우라면 전역 설정에 “ChrootDirectory %h” 를 사용하여도 됩니다.

 

3. SFTP 사용자 계정을 지정하여 사용하는 경우 SFTP 사용자 외 계정은 ssh를 사용하지 못하게 설정해야 합니다.

- /etc/passwd 파일에서 /sbin/nologin으로 변경

 

 

Posted by 짜꾸미의골골몽
|

CentOS 7부터 방화벽으로 iptables를 사용하지 않고 firewalld를 사용한다. /etc/sysconfig/iptables 파일도 존재하지 않는다. 따라서 firewall-cmd를 사용해서 방화벽을 설정해야 한다(x windows에서는 firewall-config를 사용한다고하나 콘솔만 사용해봐서 firewall-config는 어떻게 생겼는지 모르겠다).

Redhat Products & Servies의 4.11. 보안 및 액세스 제어에 아래와 같이 설명되어 있다.

4.11.1. 새로운 방화벽 (firewalld)

Red Hat Enterprise Linux 6에서 방화벽 기능은 iptables 유틸리티에 의해 제공되어 명령행이나 그래픽 설정 도구, system-config-firewall에서 설정되었습니다. Red Hat Enterprise Linux 7에서 방화벽 기능은 iptables에 의해 제공되지만 관리자는 동적 방화벽 데몬, firewalld, 설정 도구를 통해 iptables와 상호 작용합니다. 설정 도구에는 firewall-config, firewall-cmd, firewall-applet이 있으며 이는 Red Hat Enterprise Linux 7 기본값 설치에 포함되어 있지 않습니다.

firewalld는 동적이기 때문에 언제든지 설정을 변경할 수 있고 바로 실행됩니다. 방화벽을 다시 로딩할 필요가 없으므로 기존 네트워크 연결에서 의도하지 않은 중단이 발생하지 않습니다.

Red Hat Enterprise Linux 6와 7 간의 방화벽에서의 주요 차이점은 다음과 같습니다:

방화벽 설정에 대한 자세한 내용은 /etc/sysconfig/iptables에 저장되어 있지 않고 이 파일이 존재하지도 않습니다. 대신 설정 상세 정보는 /usr/lib/firewalld 및 /etc/firewalld 디렉토리에 있는 다양한 파일에 저장됩니다.
Red Hat Enterprise Linux 6의 방화벽 시스템에서는 설정 변경 사항이 있을 때 마다 모든 규칙이 삭제되고 다시 적용되어 firewalld는 설정 차이만을 적용합니다. 그 결과 firewalld는 기존 연결을 중단하지 않고 런타임 동안 설정을 변경할 수 있습니다.

또한 firewalld concept and configuration에 보면 "firewalld의 필요성"에 대해 설명하고 있다(6 page). 편의를 위해 해당 부분만 아래에 안내한다.

firewalld 의 필요성

* 기존 iptables의 한계
- 룰 변경시 서비스 중지 및 설정 변경
- 오픈스택이나 KVM과 같은 가상화 호스트에서는 네트워크 변 화가 수시로 발생되므로 필터링 정책에 변경이 필요
- 응용프로그램 자체에서 필터링 정책을 구성하는 경우 iptables 정책과 충돌되는 등의 문제 야기
* firewalld가 필요한 이유?
- KVM , openstack 과 같은 가상화, 클라우드 환경하에서의 필 터링 정책 동적 추가 가능
- DBUS API를 통한 정보 공유를 통해 정책 충돌 문제 해결
* DBUS란? 어플리케이션간의 통신을 지원하는 인터페이스

마지막으로 Doly의 CentOS7 강좌30 12. 네트워크 보안설정 12.2 iptables 서비스 (1/3)에서는 아래와 같이 안내하고 있다.

12.2. iptables 서비스

firewalld는 분명 CentOS7의 아주 혁신적인 기능중의 하나이다. 하지만 필자는 본 서적을 집필하면서 인터페이스가 편리 하나 많은 부분에서 부족함을 느꼈다. 
특히 소스IP를 명시하는 부분이 명확하지 않다. 방화벽의 기본은 출발지 IP, 프로토콜, 포트 도착지 IP, 프로토콜, 포트를 기본으로 방화벽 규칙을 만들어간다. 
하지만, firewalld는 출발지 IP와 목적지 IP에 대한 정의가 명확하지 않다. 
리눅스 스킬이 중급 이상이라면 이러한 이유로 firewalld 서비스를 제거하고 예전 iptables 서비스로 돌아가길 권장하고 싶다.

사실 "소스IP를 명시하는 부분이 명확하지 않다." 라는 부분은 글쓴이의 정확한 의도를 알 수 없어 단언하기는 힘들지만 틀린 부분이 있을 수 있다고 생각한다. firewalld를 사용하더라도 소스 IP를 지정할 수 없는 것은 아니다.

firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="1.2.3.4/32" port protocol="tcp" port="80" accept'

위 명령에서 보는 것과 같이 rich-rule를 사용해서 소스 IP를 지정할 수 있다. 그리고 지정된 내역을 보는 방법은 firewall-cmd을 사용하면 되지만 개인적으로는 cat /etc/firewalld/zones/public.xml를 사용해서 확인하는게 더 편한 것 같다. 사실은 아직 firewall-cmd를 능숙하게 사용하지를 못해서 어떻게하면 보기 쉽게 나오는지 잘 모르겠다(몇가지 명령을 시도해 봤는데 내용이 너무 많이 나온다.).

결론적으로 무조건 firewalld를 사용해야 하는 것은 아니다. firewalld를 중지시키고 iptables를 설치해서 기존처럼 관리하는 것도 가능하다. 아래의 명령을 실행하면 된다.

$ systemctl stop firewalld

$ systemctl mask firewalld

 

$ yum install iptables-services

$ systemctl enable iptables

 

$ service iptables save

firewalld를 사용할지 iptables를 사용할지는 자신의 선택이다.

현재 시점에서의 내 생각은 firewalld로 이전하는 것이다. 아직은 사용이 익숙치 않아 정확한 이전이 가능할지는 모르겠다. 이제부터 방법을 하나씩 찾아봐야 할 것이다. 하지만 Redhat에서 설명하는 것 처럼 결국은 iptables와 상호 작용하는 형태라고는 해도 접근 지점이 firewalld로 변경되었으며 앞으로도 그럴 것이기 때문이다. 주로 개발업무를 하다보니 서버를 전문적으로 운영했다고는 할 수 없으나 나름의 경험으로 볼 때 일시적

 

Posted by 짜꾸미의골골몽
|

<설정파일>

/etc/sysconfig/iptables

 

<설정저장>

/etc/init.d/iptables save

 

<설정확인>

iptables -nL

 

<설정 저장 및 재 시작>

service iptables save

 

<룰셋 저장 및 복구>

iptables-save > /tmp/rules

iptables-restore < /tmp/rule

 

<설정 제거>

iptables -F

service iptables stop

 

<설정 추가 - Command>

iptables -A INPUT -p tcp --dport 8000 -j ACCEPT  // 8000포트 허용 추가

iptables -A INPUT -p tcp --dport 8000 -j DROP     // 8000포트 차단 추가

 

<설정파일 예제>

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT DROP [0:0]

:FORWARD DROP [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

################# UDP Port ALLOW #################

-A INPUT -s 192.168.50.10 -p udp --dport 514 -j ACCEPT

-A INPUT -s 192.168.50.10 -p udp --dport 162 -j ACCEPT

################# TCP Port ALLOW ################

-A INPUT -s 192.168.50.11 -p tcp --dport 3306 -j ACCEPT

################ SSH / Oracle ALLOW ################

-A INPUT -s 192.168.50.200 -p tcp --dport 22 -j ACCEPT

-A INPUT -s 192.168.50.200 -p tcp --dport 1521 -j ACCEPT

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

-A INPUT -i lo -j ACCEPT

-A INPUT -j LOGGING

-A LOGGING -m limit --limit 2/min -j LOG --log-prefix "iptables-Droppend :"

-A LOGGING -j DROP

-A INPUT -p tcp --tcp-flags ALL NOME -j DROP

-A INPUT -p tcp ! --tyn -m state --state NEW -j DROP

-A INPUT -p tcp --tcp-flags ALL ALL -j DROP

COMMIT

 

<로그 설정 - 기본적으로는 /var/log/messages>

vi /etc/rsyslog.conf

kern.waring /var/log/iptables.log

or

kern.* /var/log/iptables.log

 

service rsyslogd restart

 

Posted by 짜꾸미의골골몽
|

'Linux > CentOS & RHEL' 카테고리의 다른 글

[Tip] firewalld vs iptables  (0) 2020.08.29
[Tip] iptables 설정 및 정책 적용  (0) 2020.08.29
[Tip] NTP 서버 설정  (0) 2020.08.27
[Tip] HBA카드(FC카드) 정보 조회 명령어  (0) 2020.08.27
[Tip] Linux System Log 종류  (0) 2020.08.27
Posted by 짜꾸미의골골몽
|

1. /etc/ntp.conf 파일 수정

-> 해당 파일의 17, 18, 19 줄에 server 지시자로 시작하는 기본 NTP 도메인 정보 주석처리

-> 동기화 할  NTP 서버 주소 추가

server [NTP Server IP]

ex)

# Use public servers from the pool.ntp.org project.

# Please consider joining the pool ().

#server 0.centos.pool.ntp.org                 => 기본 NTP 도메인 정보

#server 1.centos.pool.ntp.org

#server 2.centos.pool.ntp.org

server 11.11.5.2                                => 동기화할 NTP 서버

server 11.11.5.3

 

2. NTP 데몬 재시작

# service ntpd restart

 

3. NTP 동기화 확인

# ntpq –p

ex)rr

[root@localhost ~]# ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter

======================================================================

+11.11.5.2       192.168.1.1   5 u  400 1024  377    0.530    0.883   0.285

*11.11.5.3      192.168.1.1   5 u  902 1024  377    0.470    0.856   0.013

 

4. 서비스 등록 확인

chkconfig [Service_Name] --list

 

ex)

# chkconfig ntpd --list

ntpd           0:해제   1:해제   2:해제   3:해제   4:해제   5:해제   6:해제

 

5. 서비스 등록

             chkconfig --level [Level] [Service_Name] [on|off]

 

 ex)

# chkconfig --level 2345 ntpd on

# chkconfig ntpd --list

ntpd           0:해제   1:해제   2:활성   3:활성   4:활성   5:활성   6:해제

 

※ NTP 수동 동기화

# service ntpd stop

# ntpdate NTP IP

20 Aug 14:37:03 ntpdate[20012]: step time server 216.239.35.12 offset -495.886905 sec

-> 정상 일 경우

 

20 Aug 14:44:47 ntpdate[19973]: no server suitable for synchronization found

-> 비 정상 일 경우

# service ntpd start

 

※ NTP 명령 및 옵션

ntpq [ -i ] [ -n ] [ -p ] [ -c SubCommand ] [ Host ... ]

-c SubCommand 대화식 형식의 명령을 지정합니다. 이 플래그는 SubCommand를 지정된 호스트에서 수행할 명령 리스트에 추가합니다. 복수의 -c 플래그를 입력할 수 있습니다.

-i 대화식 모드를 지정합니다. 표준 출력은 프롬프트를 표시하고 표준 입력은 명령을 읽습니다.

-n 표준 호스트 이름 보다는 점분리 십진수 형식(x.x.x.x)으로 모든 호스트 주소를 표시합니다.

-p 서버에 알려진 peers의 리스트 및 그 상태의 요약을 표시합니다. peers 부속명령을 사용하는 것과 같습니다.

-x ntp 동기화시 시간의 오차를 줄일 수 있다고 합니다.

   ntptime명령어의 경우 kernel의 time 변수를 읽어 들여 보여주는 형태이며, NTP 데몬 기동시 “-x” 옵션을 사용하게 될 경우,

   ntp_gettime, ntp_adjtime 과 같은 함수 호출이 제한 되도록 설정 되어 집니다.

 

※ NTP 주소 Primary 등록

server xx.xx.xx.xx prefer

 

ntpq -p 출력 내용 에서의 jitter 의 의미

.jitter의 사전적 의미는 클럭을 이용한 A지점과 B지점 사이의 신호는 정확히 일치 되어야 하는데 실제로는 그렇지 못합니다. 두 지점간 완전히 동기화는 하였지만 실제로는 어떤 외부의 요인으로 인해 클럭 자체가 왜곡되어 본래의 신호가 아닌 왜곡된 신호로 동기화 되는 것이라고 하고, 이럴 경우를 지터가 발생 했다고 합니다.

ntpq 에서의 출력 되어지는 jitter 라는 것은 원격 서버에서의 연속된 시간 값의 "분산" 이라고 볼 수 있습니다. 이것은  원격 서버에서에 대한 네트워크 경로의 안정성에 관한 내용이며 ntp 서버를 참조하는 중요한 역할을 하게 됩니다.

아래 내용을 보시면 ntpd 데몬이 synchronized to 172.18.166.2(참조 가능한 ntp) 를 했을 경우 offest , jitter 값이 변화가 생기면서 +, * 가 바뀌게 되는 것이 확인 되었습니다.

jitter 값이 낮은 서버 에서 동기화가 이루어 지고 있다고 볼 수 있습니다.

 

Nov 25 03:02:14 cmweb4 ntpd[14709]: synchronized to 11.11.11.1 , stratum 8

 

 

 

http://www.bigip.co.kr/?mid=board_linux&page=5&document_srl=6462

 

 

 

Posted by 짜꾸미의골골몽
|

# systool -c fc_host -v | grep -i port_name

-> 확인된 Name San 엔지니어에게 전달

# cat /sys/class/fc_host/host2/port_name

-> 위와 동일한 정보 확인 가능

 

cd /sys/class/scsi_host/host#

여기서 #은 host 번호를 나타낸다.(0,1,2...)

 

해당 디렉토리를 살펴보면 다음과 같은 파일이 있다.

 

-rw-r--r-- 1 root root 4096  3월 15 09:51 beacon

-r--r--r-- 1 root root 4096  3월 15 09:51 cmd_per_lun

lrwxrwxrwx 1 root root    0  3월 15 09:51 device -> ../../../devices/pci0000:00/0000:00:04.0/0000:13:00.0/host0

-r--r--r-- 1 root root 4096  3월 15 09:51 driver_version

-r--r--r-- 1 root root 4096  3월 15 09:51 fw_version

-r--r--r-- 1 root root 4096  3월 15 09:51 host_busy

-r--r--r-- 1 root root 4096  3월 15 09:51 isp_id

-r--r--r-- 1 root root 4096  3월 15 09:51 isp_name

-r--r--r-- 1 root root 4096  3월 15 09:51 max_npiv_vports

-r--r--r-- 1 root root 4096  3월 15 09:51 model_desc

-r--r--r-- 1 root root 4096  3월 15 09:51 model_name

-r--r--r-- 1 root root 4096  3월 15 09:51 npiv_vports_inuse

-r--r--r-- 1 root root 4096  3월 15 09:51 pci_info

-r--r--r-- 1 root root 4096  3월 15 09:51 proc_name

--w------- 1 root root 4096  3월 15 09:51 scan

-r--r--r-- 1 root root 4096  3월 15 09:51 serial_num

-r--r--r-- 1 root root 4096  3월 15 09:51 sg_tablesize

-rw-r--r-- 1 root root 4096  3월 15 09:51 state

lrwxrwxrwx 1 root root    0  3월 15 09:51 subsystem -> ../../../class/scsi_host

--w------- 1 root root 4096  3월 15 09:51 uevent

-r--r--r-- 1 root root 4096  3월 15 09:51 unchecked_isa_dma

-r--r--r-- 1 root root 4096  3월 15 09:51 unique_id

--w--w--w- 1 root root 4096  3월 15 09:51 vport_create

--w--w--w- 1 root root 4096  3월 15 09:51 vport_delete

-rw-r--r-- 1 root root 4096  3월 15 09:51 zio

-rw-r--r-- 1 root root 4096  3월 15 09:51 zio_timer

 

여기서 driver_version , fw_version 파일을 열어보면 버전정보를 알 수 있으며

state 파일에 link 상태가 기록되어 있다.

 

위 관련 내용을 한꺼번에 조회하려면

# systool -vc scsi_host -v

 

lass Device = "host1"

Class Device path = "/sys/class/fc_host/host1"

fabric_name = "0x100000051e36281c"

issue_lip =

node_name = "0x2000001b328709b2"

port_id = "0x018680"

port_name = "0x2100001b328709b2"

port_state = "Online"

port_type = "NPort (fabric via point-to-point)"

speed = "4 Gbit"

supported_classes = "Class 3"

supported_speeds = "1 Gbit, 2 Gbit, 4 Gbit"

symbolic_name = "QLE2462 FW:v5.03.02 DVR:v8.03.01.04.05.05-k"

system_hostname = ""

tgtid_bind_type = "wwpn (World Wide Port Name)"

uevent =

 

[...SNIP]

이 외에도

# systool -c fc_host -v : HBA카드의 Device path, Link up/down 여구, Link Speed, Port type, wwn 등

# systool -c fc_remote_ports -v -d : HBA카드에 연결된 타겟 디바이스의 WWPN, WWNN등을 확인

# systool -c fc_transport -v : 위 명령어와 비슷한 결과

# systool -c scsi : 스트리지의 캐쉬타입, raid type, time out, 제조사 등의 정보 확인

 

# Emulex FC Card의 경우 /sys/class/scsi_host 디렉토리 내에 위치

 

참고사이트 : http://bigteo.tistory.com/60

 

 

 

Posted by 짜꾸미의골골몽
|