Showing posts with label iSCSI. Show all posts
Showing posts with label iSCSI. Show all posts

2015-11-12

FreeNAS : iscsi를 사용한 linux multipath 공유 스토리지 구성

FreeNAS :
iscsi를 사용한 
linux multipath 공유 스토리지 구성







FreeNAS 환경설정

Network Interface 추가

Network > Interfaces > Add Interface를 실행 한다.
캡처.PNG
해당  네트워크 인터페이스 카드에 연결된 ip와 netmask 를 입력한다.
기존에 이미 하나의 네트워크 인터페이스 카드가 존재 하고 그 ip와 netmask가 같은 대역이면  생성할 수 없고 다음과 같이 에러가 출력된다.

  • The network 10.0.0.0/8 is already in use by another NIC

따라서 다른 대역대의 ip와 netmask를 설정해 주어야 한다.

동일 대역 IP 와 Netmask 추가

WEB GUI 를 통해서는 동일한 대역대의 ip와 netmask를 추가 할 수 없으므로,
FreeNAS 서버의 shell을 사용하여 수동으로 IP 와 Netmask를 설정해 주어야 한다.

9 번을 선택하여 shell을 실행 후에 다음 명령을 실행한다.

# ifconfig em1 10.10.15.6 netmask 255.0.0.0 up

실행후에 “exit”를 사용하여 다시 FreeNAS shell 메뉴로 돌아 가면
다음 그림과 같이 WEB 접근 주소가 추가된것을 확인 할 수 있다.
물론 위 ifconfig 명령을 사용하기 위해서는 “add interface”를 통해 네트워크 인터페이스를 먼저 추가 해 놓아야 한다.


Shared Storage volume 추가

 iscsi 타겟 및 볼륨 추가 방법은 다음을 참조
  링크 바로가기

iSCSI를 사용한 Multipath 구조

구성

위와 같은 구조로 하나의 장치를 iSCSI 에서는  타겟에 접근 하는 주소에 따라서 서로 다른 장치로 인식한다.

Multipathd 설치


# yum install device-mapper-multipath device-mapper
를 통해 설치


Multipathd 환경 설정

디바이스 WWID 확인


# scsi_id -gu /dev/sdi
36589cfc000000ae6cf4997e21afb0b7a
scsi_id 명령으로 WWID 를 확인 한다.

/etc/multipath.conf 설정


defaults {
  user_friendly_names yes
       path_grouping_policy multibus
  path_selector "queue-length 0"
  failback immediate
}

blacklist {
#   devnode ".*"
}

multipaths {
   multipath {
       wwid 36589cfc000000ae6cf4997e21afb0b7a
       alias red
   }
}


Multipathd 서비스 기동 및 확인

# service multipathd start
Starting multipathd daemon:                                [  OK  ]
위 명령으로 서비스 기동


# multipath -l
blue (36589cfc000000227864789cd997c3a21) dm-2 FreeBSD,iSCSI Disk
size=300M features='0' hwhandler='0' wp=rw
`-+- policy='queue-length 0' prio=1 status=active
 |- 15:0:0:1 sdk 8:160 active ready running
 `- 16:0:0:1 sdm 8:192 active ready running

위 명령으로 blue 볼륨이 15:0:0:1 , 16:0:0:1  두 path 모두 active, running상태임을 확인 할 수 있다.

2015-08-03

FREE NAS 에 ISCSI 설정

FREE NAS 에 ISCSI 설정







iSCSI 서비스 활성화

FREE NAS 의 iscsi 를 사용하여 스토리지를 할당 연결 하는 방식은 , windows iscsi target을 사용해서 배포하는 방식과 대동소이 하다.


iSCSI Portal 등록

먼저 포탈(protal)을 등록한다.
iSCSI 초기자가 접근하기 위한 주소를 설정하는 영역이다.

특별한 설정은 할 필요가 없다.
접근하기 위한 ip주소와 port번호만 있으면 된다.
“0.0.0.0”으로 지정하면 포탈로 접근하는 목적지 주소에 상관없이 접근 가능하다는 의미다




iSCSI Authorized Access 등록

포탈에 접근 가능한 iSCSI 초기자의 소스 주소에 대한 필터링을 통해,
지정하지 않은 ip주로를 가진 iSCSI 초기자는 포탈에 접근하지 못하도록 하기 위한 보안 설정이다.
IP주소를 공백이나 콤마로 나누어 지정할 수 있다.




iSCSI Targe Extent 등록

최초에 크게 디스크를 잡았다면, 그대로 사용해도 된다.
만약, 큰 디스크를 작은 영역으로 나누어 사용하고 싶다면 “Target Extent”를 설정 할 수 있다.
주목할 부분은 하나의 물리 디스크가 아니기 때문에,  free NASD 에서는  작은 영역을 파일 단위로 관리 한다. “Extent type” 을  FILE로 두고 , 해당 파일에 사이즈를 정해주자.
“Extent Path” 는 파일을 생성하고자 하는 디스크의 path에 파일 이름을 붙여서 생성해 준다.


iSCSI Target 등록
Extent를 나누었으면 , Target을 정한다.
Target은 iSCSI 초기자가 iSCSI 저장소의 포탈 주소로 검색했을때 나타나는 저장소의 단위다. 따라서 하나의 Target은 하나 이상의 볼륨 혹은 Extent를 가질 수 있다.


생성된 Target을 어느 포탈에 맵핑(사상) 시킬지 지정하면 기본 설정은 끝이 난다.
또한, 여기서 지정한 타겟이름은 실제 포탈을 통해 Target을 검색시 검색되는 iqn 넘버에 표시된다.
예를 들면 다음과 같다.


10.10.15.5:3262,-1 iqn.2005-10.org.freenas.ctl:nixvolume11
10.10.15.5:3262,-1 iqn.2005-10.org.freenas.ctl:nixvolume12
10.10.15.5:3262,-1 iqn.2005-10.org.freenas.ctl:nixvolume13


*포탈에 접속시 표시되는 모든 Target이 볼륨으로서 사용되어 지는 것은 아니다.


iSCSI Target, Extent 연결 ( Associated Target ) 등록

위에서 만약 “Target Extent” 를 사용하여 볼륨을 생성했다면, 타겟에 Extent를 맵핑 시켜준다. 여기서 맵핑 시켜주는 Extent가 하나의 볼륨으로 호스트에 표시되는 단위이다.



Free NAS iSCSI 서비스 활성화

설정이 끝나면 “Services >> Control Service” 탭에서 iSCSI 서비스를 활성화 한다.
이로서 ISCSI 서버쪽 기본 설정은 끝이 난다.

리눅스에서 iSCSI initiator 등록


테스트 환경

Linux baby2 2.6.32-358.6.1.el6.x86_64 #1 SMP Tue Apr 23 19:29:00 UTC 2013 x86_64 x86_64 x86_64 GN

  1. iscsi-initiator-utils 설치를 확인 한다.
목록에 검색되는 것이 없으면 설치 되어 있지 않다는 의미이다.
rpm -qa | grep iscsi

  1. 위에서 확인한 결과 설치 되어 있지 않다면 yum 명력을 사용하여 설치한다.
이 글은 centos에서 작성되었지만 다른 배포판에서는 별도의 명령을 통하여 설치한다.
ubuntu의 경우는 apt-get 명령 사용


yum -y install iscsi-initiator-utils


  1. 포탈로 iSCSI 타겟 확인


iscsiadm -m discovery -t st -p 10.10.15.5:3260  → 포탈 주소
options
-m : --mode
-t : --type
st : sendtargets,
-p : --portal


아마도 설정이 틀리지 않았고, 네트워크가 정상적으로 연결되어 있다면 다음과 같이 타겟리스트가 출력 될 것이다
10.10.15.5:3260,-1 iqn.2005-10.org.freenas.ctl:nixsvolume1target

10.10.15.5:3260,-1 iqn.2005-10.org.freenas.ctl:nixsvolume2target


  1. target으로 로그인
위 3번 항목에서 나오는 타겟 리스트중 “iqn”으로 시작하는 긴 문자열이 타겟의 실재 주소를 나타낸다.
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:nixsvolume1target -p 10.10.15.5:3260 -l

Options
-T : Target Name
-l : Login
-u : logout


  1. 호스트에 볼륨 추가 확인
fdisk -l 등의 볼륨 확인 명령으로 추가된 볼륨을 확인한다.
Disk /dev/sdg: 3221 MB, 3221225472 bytes
100 heads, 62 sectors/track, 1014 cylinders
Units = cylinders of 6200 * 512 = 3174400 bytes
Sector size (logical/physical): 512 bytes / 131072 bytes
I/O size (minimum/optimal): 131072 bytes / 1048576 bytes
Disk identifier: 0x00000000


  1. 로그 아웃
로그아웃 후 제거된 볼륨을 확인 한다.
iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:nixsvolume1target -p 10.10.15.5:3260 -u

2015-07-22

iSCSI 설정

iSCSI 설정

iSCSI란? goto Wiki

iSCSI는 데이터 저장소 시설을 연결하는 데 사용되는 인터넷 프로토콜 기반의 저장소 네트워킹 표준입니다. IP 네트워크상에서 SCSI 명령을 수행함으로써 iSCSI가 로컬 영역 네트워크(LAN), 광역 네트워크(WAN) 또는 인터넷에서 보다 쉽게 데이터를 전송할 수 있습니다. iSCSI를 통해 저장소 서버의 공간은 클라이언트 운영 체제에서 로컬 디스크로 간주됩니다. 그러나 실제로 디스크로 전송된 모든 데이터는 네트워크를 통해 저장소 서버로 전송됩니다.

iSCSI Target과 LUN이란?

SCSI 용어에서 LUN(논리 단위 장치 번호)은 물리적 SCSI 저장장치("Target"이라 함)의 일부인, 개별적으로 주소 지정이 가능한(논리적) SCSI 장치를 나타냅니다. iSCSI 환경에서는 가상화 방식으로 SCSI 하드 디스크로의 연결이 구현됩니다. iSCSI Target은 연결 인터페이스와 유사하며, LUN은 본질적으로 번호가 매겨진 디스크 드라이브에 해당합니다. iSCSI 개시자(클라이언트)에 의해 iSCSI Target이 연결되면 해당 iSCSI Target에 매핑된 모든 LUN이 클라이언트의 운영 체제에 가상으로 연결됩니다. 따라서 개시자가 원시 SCSI 또는 IDE 하드 드라이브에서처럼 iSCSI LUN에서 파일 시스템을 설정하고 관리할 수 있습니다.

iscsi 설정


타겟설정


● iscsi 타겟 설치

[root@fafa ~]# yum install scsi-target-utils
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirror.premi.st
* extras: mirror.premi.st
* updates: mirror.premi.st
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package scsi-target-utils.x86_64 0:1.0.24-3.el6_4 will be installed
--> Processing Dependency: perl(Config::General) for package: scsi-target-utils-1.0.24-3.el6_4.x86_64
--> Processing Dependency: librdmacm.so.1(RDMACM_1.0)(64bit) for package: scsi-target-utils-1.0.24-3.el6_4.x86_64
--> Processing Dependency: libibverbs.so.1(IBVERBS_1.1)(64bit) for package: scsi-target-utils-1.0.24-3.el6_4.x86_64
--> Processing Dependency: libibverbs.so.1(IBVERBS_1.0)(64bit) for package: scsi-target-utils-1.0.24-3.el6_4.x86_64
--> Processing Dependency: librdmacm.so.1()(64bit) for package: scsi-target-utils-1.0.24-3.el6_4.x86_64
--> Processing Dependency: libibverbs.so.1()(64bit) for package: scsi-target-utils-1.0.24-3.el6_4.x86_64
--> Running transaction check
---> Package libibverbs.x86_64 0:1.1.6-5.el6 will be installed
---> Package librdmacm.x86_64 0:1.0.17-0.git4b5c1aa.el6 will be installed
---> Package perl-Config-General.noarch 0:2.44-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package                Arch      Version                      Repository  Size
================================================================================
Installing:
scsi-target-utils      x86_64    1.0.24-3.el6_4               updates    172 k
Installing for dependencies:
libibverbs             x86_64    1.1.6-5.el6                  base        45 k
librdmacm              x86_64    1.0.17-0.git4b5c1aa.el6      base        47 k
perl-Config-General    noarch    2.44-1.el6                   base        68 k

Transaction Summary
================================================================================
Install       4 Package(s)

Total download size: 331 k
Installed size: 808 k
Is this ok [y/N]: y
Downloading Packages:
(1/4): libibverbs-1.1.6-5.el6.x86_64.rpm                 |  45 kB     00:00     
(2/4): librdmacm-1.0.17-0.git4b5c1aa.el6.x86_64.rpm      |  47 kB     00:00     
(3/4): perl-Config-General-2.44-1.el6.noarch.rpm         |  68 kB     00:00     
(4/4): scsi-target-utils-1.0.24-3.el6_4.x86_64.rpm       | 172 kB     00:00     
--------------------------------------------------------------------------------
Total                                            57 kB/s | 331 kB     00:05     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
 Installing : libibverbs-1.1.6-5.el6.x86_64                                1/4
 Installing : librdmacm-1.0.17-0.git4b5c1aa.el6.x86_64                     2/4
 Installing : perl-Config-General-2.44-1.el6.noarch                        3/4
 Installing : scsi-target-utils-1.0.24-3.el6_4.x86_64                      4/4
 Verifying  : perl-Config-General-2.44-1.el6.noarch                        1/4
 Verifying  : libibverbs-1.1.6-5.el6.x86_64                                2/4
 Verifying  : librdmacm-1.0.17-0.git4b5c1aa.el6.x86_64                     3/4
 Verifying  : scsi-target-utils-1.0.24-3.el6_4.x86_64                      4/4

Installed:
 scsi-target-utils.x86_64 0:1.0.24-3.el6_4                                     

Dependency Installed:
 libibverbs.x86_64 0:1.1.6-5.el6                                               
 librdmacm.x86_64 0:1.0.17-0.git4b5c1aa.el6                                    
 perl-Config-General.noarch 0:2.44-1.el6            
Complete!

                          

● iSCSI 타겟 데몬 서비스 등록 및 시작

[root@fafa ~]# chkconfig --list | grep tg
tgtd            0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@fafa ~]# service tgtd status
tgtd is stopped
[root@fafa ~]# service tgtd start
Starting SCSI target daemon:                               [  OK  ]
[root@fafa ~]# chkconfig --level 345 tgtd on
[root@fafa ~]# chkconfig --list | grep tg
tgtd            0:off 1:off 2:off 3:on 4:on 5:on 6:off


● iSCSI 타겟 볼륨의 이름 지정

>>>> 이름등록

[root@fafa ~]# tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2010-10.com.example.domain:storage.disk1

>>>> 타겟 리스트 출력

[root@fafa ~]# tgtadm --lld iscsi --op show --mode target
Target 1: iqn.2010-10.com.example.domain:storage.disk1
   System information:
       Driver: iscsi
       State: ready
   I_T nexus information:
   LUN information:
       LUN: 0          <<<<< 타겟 생성시 기본으로 LUN 0번을 사용한다.
           Type: controller
           SCSI ID: IET     00010000
           SCSI SN: beaf10
           Size: 0 MB, Block size: 1
           Online: Yes
           Removable media: No
           Prevent removal: No
           Readonly: No
           Backing store type: null
           Backing store path: None
           Backing store flags:
   Account information:
   ACL information:



● 지정 iSCSI타겟볼륨에  LUN1으로서 디바이스 추가.

>>>>> 지정 타겟의 lun  (logical unit ) 1번에 ‘/dev/sdb1’ 장치 추가.
>>>>> 지정 타겟 의 tid 는 1

[root@fafa ~]# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sdb1

>>>>>  지정 타겟의 lun 리스트 를 출력.

[root@fafa ~]# tgtadm --lld iscsi --op show --mode target
Target 1: iqn.2010-10.com.example.domain:storage.disk1
   System information:
       Driver: iscsi
       State: ready
   I_T nexus information:
   LUN information:
       LUN: 0
           Type: controller
           SCSI ID: IET     00010000
           SCSI SN: beaf10
           Size: 0 MB, Block size: 1
           Online: Yes
           Removable media: No
           Prevent removal: No
           Readonly: No
           Backing store type: null
           Backing store path: None
           Backing store flags:
       LUN: 1    <<<<< 추가된 lun 디바이스
           Type: disk
           SCSI ID: IET     00010001
           SCSI SN: beaf11
           Size: 2147 MB, Block size: 512
           Online: Yes
           Removable media: No
           Prevent removal: No
           Readonly: No
           Backing store type: rdwr
           Backing store path: /dev/sdb1  <<<<< 추가장 장치 디바이스
           Backing store flags:
   Account information:
   ACL information:

● 타겟 디스크 /lun1에 할당된 /dev/sdb1을 삭제
>>>> 타겟 id 1에 lun 1인 볼륨을 타겟에서 제외

oot@fafa ~]# tgtadm --lld iscsi --op delete --mode logicalunit --tid 1 --lun 1

● iscisi타겟을 이미지로 설정 하기 위한 파일 생성

>>>>> 볼륨 대체용 이미지 파일 생성  512M

oot@fafa ~]# dd if=/dev/zero of=/fs.iscsi.disk bs=1M count=512





● 이미지 파일을 LUN으로 타겟에 추가.

[root@fafa ~]# tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /fs.iscsi.disk
[root@fafa ~]# tgtadm --lld iscsi --op show --mode target
Target 1:  iqn.2010-10.com.example.domain:storage.disk1
   System information:
       Driver: iscsi
       State: ready
   I_T nexus information:
   LUN information:
       LUN: 0
           Type: controller
           SCSI ID: IET     00010000
           SCSI SN: beaf10
           Size: 0 MB, Block size: 1
           Online: Yes
           Removable media: No
           Prevent removal: No
           Readonly: No
           Backing store type: null
           Backing store path: None
           Backing store flags:
       LUN: 1     <<<<< 추가된 lun
           Type: disk
           SCSI ID: IET     00010001
           SCSI SN: beaf11
           Size: 537 MB, Block size: 512
           Online: Yes
           Removable media: No
           Prevent removal: No
           Readonly: No
           Backing store type: rdwr
           Backing store path: /fs.iscsi.disk      <<<< 추가된 이미지 파일
           Backing store flags:
   Account information:
   ACL information:






● selinux 를 사용하고 있다면 이미지 파일에 대한 접근을 허용한다.

[root@fafa ~]# semanage fcontext -a -t tgtd_var_lib_t /fs.iscsi.disk
[root@fafa ~]# restorecon -Rv /fs.iscsi.disk




● 이니시에터가 접속할수 있도록 타겟 바인딩

[root@fafa ~]# tgtadm --lld iscsi --op bind --mode target --tid 1 -I ALL


>>>>>  3260 포트에 바인딩 됨을 확인.

[root@fafa ~]# netstat -tulpn | grep 3260
tcp        0      0 0.0.0.0:3260                0.0.0.0:*                   LISTEN      2359/tgtd           
tcp        0      0 :::3260                     :::*                        LISTEN      2359/tgtd          










iSCSI Initiatoron 설치


● 이니시에이터 설치

[root@fafa ~]# yum install  iscsi-initiator-utils





● 이니시에이터 타겟에 접속

>>>>> 포탈에는 생성한 iSCSI 타겟의 주소를 입력한다.

[root@fafa ~]# iscsiadm --mode discovery --type sendtargets --portal 10.10.15.1
Starting iscsid:                                           [  OK  ]
10.10.15.1:3260,1iqn.2010-10.com.example.domain:storage.disk1






● 초기자가 탐색한 타겟 출력

[root@fafa ~]# iscsiadm -m node
10.10.15.1:3260,1iqn.2010-10.com.example.domain:storage.disk



● 타겟에 초기자가 로그인

>>>>  로그인이 필요한 타겟의 경우 , 필요시 /etc/iscsi/iscsid.conf 의 다음을 수정한다
>> node.session.auth.authmethod = CHAP
>>  node.session.auth.username = My_ISCSI_USR_NAME
>> node.session.auth.password = MyPassword
>> discovery.sendtargets.auth.username = My_ISCSI_USR_NAME
>> discovery.sendtargets.auth.password = MyPassword



[root@fafa ~]#  iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.disk2.amiens.sys1.xyz" --portal "10.10.15.1:3260" --login
Logging in to [iface: default, target:iqn.2010-10.com.example.domain:storage.disk1, portal: 10.10.15.1,3260] (multiple)
Login to [iface: default, target:iqn.2010-10.com.example.domain:storage.disk1, portal: 10.10.15.1,3260] successful.




● fdisk -l 로 새로운 디스크 추가 확인

Disk /dev/sdf: 536 MB, 536870912 bytes
17 heads, 61 sectors/track, 1011 cylinders
Units = cylinders of 1037 * 512 = 530944 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000



● 파티션 생성및 포맷 ext4

[root@fafa ~]# fdisk /dev/sdf
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x9b4f34cc.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
        switch off the mode (command 'c') and change display units to
        sectors (command 'u').

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1011, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1011, default 1011):
Using default value 1011

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@fafa ~]# mkfs.ext4 /dev/sdf1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
131072 inodes, 524172 blocks
26208 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67633152
64 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
[root@fafa ~]# fdisk  -l | grep sdf
Disk /dev/sdf: 536 MB, 536870912 bytes
/dev/sdf1               1        1011      524173   83  Linux





● 타겟제거

>>>>> iSCSI 이니시에이터가 가지는 타겟 서버로의 접속을 종료한다.
>>>>>종료시에는 fdisk -l 에  추가되었던 장치가 사라진다.

[root@fafa ~]#  iscsiadm -m node --targetname "iqn.2010-10.com.example.domain:storage.disk --portal "10.10.15.1:3260" --logout
Logging out of session [sid: 1, target:iqn.2010-10.com.example.domain:storage.disk1, portal: 10.10.15.1,3260]
Logout of [sid: 1, target:iqn.2010-10.com.example.domain:storage.disk1, portal: 10.10.15.1,3260] successful.






●  스카시 장비 확인

[root@fafa ~]# lsblk
NAME                  MAJ:MIN RM    SIZE RO TYPE MOUNTPOINT
sr0                    11:0    1   1024M  0 rom  
sda                     8:0    0     20G  0 disk
├─sda1                  8:1    0    200M  0 part /boot
├─sda2                  8:2    0    5.9G  0 part /usr
├─sda3                  8:3    0      2G  0 part [SWAP]
├─sda4                  8:4    0      1K  0 part
├─sda5                  8:5    0      2G  0 part /var
├─sda6                  8:6    0    200M  0 part /home
└─sda7                  8:7    0    9.8G  0 part /
sdb                     8:16   0      2G  0 disk
└─sdb1                  8:17   0      2G  0 part
sdc                     8:32   0      3G  0 disk
└─sdc1                  8:33   0      3G  0 part
 ├─vg00-lvol0 (dm-0) 253:0    0    300M  0 lvm  
 └─vg00-lvol1 (dm-1) 253:1    0    400M  0 lvm  
sdd                     8:48   0      1G  0 disk
└─sdd1                  8:49   0 1019.7M  0 part
sde                     8:64   0      1G  0 disk
└─sde1                  8:65   0 1019.7M  0 part
drbd0                 147:0    0 1019.7M  1 disk
drbd1                 147:1    0    300M  1 disk
sdf                     8:80   0    512M  0 disk
└─sdf1                  8:81   0  511.9M  0 part



[root@fafa ~]# sg_scan
/dev/sg0: scsi1 channel=0 id=0 lun=0 [em]
/dev/sg1: scsi2 channel=0 id=0 lun=0
/dev/sg2: scsi2 channel=0 id=1 lun=0
/dev/sg3: scsi2 channel=0 id=2 lun=0
/dev/sg4: scsi2 channel=0 id=3 lun=0
/dev/sg5: scsi2 channel=0 id=4 lun=0
/dev/sg6: scsi3 channel=0 id=0 lun=0   
/dev/sg7: scsi3 channel=0 id=0 lun=1  <<<<<< lun1 에 추가된 이미지 파일 이 scsi3 장치로 추가되어 있다.
[root@fafa ~]# sg_scan  /dev/sdf
/dev/sdf: scsi3 channel=0 id=0 lun=1 [em]





출처