FLI-Planning을 사용한 Oracle 마이그레이션
FLI를 사용하여 SAN 리소스를 마이그레이션하는 절차는 NetApp에 설명되어 있습니다 "TR-4380: 외부 LUN 가져오기를 사용한 SAN 마이그레이션".
데이터베이스 및 호스트 관점에서 볼 때 특별한 단계가 필요하지 않습니다. FC 존이 업데이트되고 LUN을 ONTAP에서 사용할 수 있게 되면 LVM이 LUN에서 LVM 메타데이터를 읽을 수 있어야 합니다. 또한 볼륨 그룹을 추가 구성 단계 없이 사용할 수 있습니다. 드문 경우지만 환경에 이전 스토리지 어레이를 참조하는 하드 코딩된 구성 파일이 포함될 수 있습니다. 예를 들어, 을 포함하는 Linux 시스템이 해당됩니다 /etc/multipath.conf
주어진 디바이스의 WWN을 참조하는 규칙은 FLI에 의해 도입된 변경 사항을 반영하도록 업데이트되어야 합니다.
|
지원되는 구성에 대한 자세한 내용은 NetApp 호환성 매트릭스를 참조하십시오. 사용 환경이 포함되지 않은 경우 NetApp 담당자에게 문의하십시오. |
이 예제는 Linux 서버에서 호스팅되는 ASM 및 LVM LUN의 마이그레이션을 보여줍니다. FLI는 다른 운영 체제에서 지원되며 호스트측 명령이 다를 수 있지만 원칙이 동일하고 ONTAP 절차는 동일합니다.
LVM LUN을 식별합니다
준비의 첫 번째 단계는 마이그레이션할 LUN을 식별하는 것입니다. 여기에 나와 있는 예에서는 SAN 기반 파일 시스템 두 개가 에 마운트되어 있습니다 /orabin
및 /backups
.
[root@host1 ~]# df -k Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/rhel-root 52403200 8811464 43591736 17% / devtmpfs 65882776 0 65882776 0% /dev ... fas8060-nfs-public:/install 199229440 119368128 79861312 60% /install /dev/mapper/sanvg-lvorabin 20961280 12348476 8612804 59% /orabin /dev/mapper/sanvg-lvbackups 73364480 62947536 10416944 86% /backups
볼륨 그룹의 이름은 (볼륨 그룹 이름) - (논리적 볼륨 이름) 형식을 사용하는 디바이스 이름에서 추출할 수 있습니다. 이 경우 볼륨 그룹이 호출됩니다 sanvg
.
를 클릭합니다 pvdisplay
명령을 사용하여 다음 명령을 사용하여 이 볼륨 그룹을 지원하는 LUN을 식별할 수 있습니다. 이 경우 를 구성하는 LUN이 10개 있습니다 sanvg
볼륨 그룹:
[root@host1 ~]# pvdisplay -C -o pv_name,pv_size,pv_fmt,vg_name PV PSize VG /dev/mapper/3600a0980383030445424487556574266 10.00g sanvg /dev/mapper/3600a0980383030445424487556574267 10.00g sanvg /dev/mapper/3600a0980383030445424487556574268 10.00g sanvg /dev/mapper/3600a0980383030445424487556574269 10.00g sanvg /dev/mapper/3600a098038303044542448755657426a 10.00g sanvg /dev/mapper/3600a098038303044542448755657426b 10.00g sanvg /dev/mapper/3600a098038303044542448755657426c 10.00g sanvg /dev/mapper/3600a098038303044542448755657426d 10.00g sanvg /dev/mapper/3600a098038303044542448755657426e 10.00g sanvg /dev/mapper/3600a098038303044542448755657426f 10.00g sanvg /dev/sda2 278.38g rhel
ASM LUN 식별
ASM LUN도 마이그레이션해야 합니다. sysasm 사용자로 sqlplus에서 LUN 및 LUN 경로 수를 가져오려면 다음 명령을 실행합니다.
SQL> select path||' '||os_mb from v$asm_disk; PATH||''||OS_MB -------------------------------------------------------------------------------- /dev/oracleasm/disks/ASM0 10240 /dev/oracleasm/disks/ASM9 10240 /dev/oracleasm/disks/ASM8 10240 /dev/oracleasm/disks/ASM7 10240 /dev/oracleasm/disks/ASM6 10240 /dev/oracleasm/disks/ASM5 10240 /dev/oracleasm/disks/ASM4 10240 /dev/oracleasm/disks/ASM1 10240 /dev/oracleasm/disks/ASM3 10240 /dev/oracleasm/disks/ASM2 10240 10 rows selected. SQL>
FC 네트워크 변경 사항
현재 환경에는 마이그레이션할 LUN 20개가 포함되어 있습니다. ONTAP가 현재 LUN에 액세스할 수 있도록 현재 SAN을 업데이트합니다. 데이터가 아직 마이그레이션되지 않았지만 ONTAP는 현재 LUN에서 구성 정보를 읽어 해당 데이터의 새 홈을 생성해야 합니다.
AFF/FAS 시스템에서 하나 이상의 HBA 포트를 이니시에이터 포트로 구성해야 합니다. 또한 ONTAP이 외부 스토리지 어레이의 LUN에 액세스할 수 있도록 FC 존을 업데이트해야 합니다. 일부 스토리지에는 LUN 마스킹이 구성되어 있으며, 이 경우 특정 LUN을 액세스할 수 있는 WWN이 제한됩니다. 이 경우 LUN 마스킹도 업데이트하여 ONTAP WWN에 대한 액세스 권한을 부여해야 합니다.
이 단계가 완료된 후 ONTAP는 를 사용하여 외부 스토리지 어레이를 볼 수 있어야 합니다 storage array show
명령. 반환되는 키 필드는 시스템에서 외부 LUN을 식별하는 데 사용되는 접두사입니다. 아래 예에서는 외부 스토리지의 LUN을 보여 줍니다 FOREIGN_1
의 접두사를 사용하여 ONTAP 내에 나타납니다 FOR-1
.
외부 어레이를 식별합니다
Cluster01::> storage array show -fields name,prefix name prefix ------------- ------ FOREIGN_1 FOR-1 Cluster01::>
외부 LUN 식별
LUN은 를 전달하여 나열할 수 있습니다 array-name
를 누릅니다 storage disk show
명령. 반환되는 데이터는 마이그레이션 절차 중에 여러 번 참조됩니다.
Cluster01::> storage disk show -array-name FOREIGN_1 -fields disk,serial disk serial-number -------- ------------- FOR-1.1 800DT$HuVWBX FOR-1.2 800DT$HuVWBZ FOR-1.3 800DT$HuVWBW FOR-1.4 800DT$HuVWBY FOR-1.5 800DT$HuVWB/ FOR-1.6 800DT$HuVWBa FOR-1.7 800DT$HuVWBd FOR-1.8 800DT$HuVWBb FOR-1.9 800DT$HuVWBc FOR-1.10 800DT$HuVWBe FOR-1.11 800DT$HuVWBf FOR-1.12 800DT$HuVWBg FOR-1.13 800DT$HuVWBi FOR-1.14 800DT$HuVWBh FOR-1.15 800DT$HuVWBj FOR-1.16 800DT$HuVWBk FOR-1.17 800DT$HuVWBm FOR-1.18 800DT$HuVWBl FOR-1.19 800DT$HuVWBo FOR-1.20 800DT$HuVWBn 20 entries were displayed. Cluster01::>
외부 스토리지 LUN을 가져오기 후보로 등록합니다
외부 LUN은 처음에 특정 LUN 유형으로 분류됩니다. 데이터를 가져오려면 먼저 LUN에 외부 태그가 지정되어야 하므로 가져오기 프로세스의 대상이 되어야 합니다. 이 단계는 에 일련 번호를 전달하여 완료합니다 storage disk modify
명령을 사용합니다. 이 프로세스에서는 ONTAP 내의 LUN에만 Foreign으로 태그를 지정합니다. 외부 LUN 자체에 데이터가 기록되지 않습니다.
Cluster01::*> storage disk modify {-serial-number 800DT$HuVWBW} -is-foreign true Cluster01::*> storage disk modify {-serial-number 800DT$HuVWBX} -is-foreign true ... Cluster01::*> storage disk modify {-serial-number 800DT$HuVWBn} -is-foreign true Cluster01::*> storage disk modify {-serial-number 800DT$HuVWBo} -is-foreign true Cluster01::*>
마이그레이션된 LUN을 호스팅할 볼륨을 생성합니다
마이그레이션된 LUN을 호스팅하려면 볼륨이 필요합니다. 정확한 볼륨 구성은 ONTAP 기능을 활용하는 전체 계획에 따라 다릅니다. 이 예에서는 ASM LUN이 한 볼륨에 배치되고 LVM LUN은 두 번째 볼륨에 배치됩니다. 따라서 계층화, 스냅샷 생성 또는 QoS 제어 설정과 같은 목적으로 LUN을 독립 그룹으로 관리할 수 있습니다.
를 설정합니다 snapshot-policy `to `none
. 마이그레이션 프로세스에는 많은 데이터 회전율이 포함될 수 있습니다. 따라서 원하지 않는 데이터가 스냅샷에 캡처되기 때문에 실수로 스냅샷을 생성하는 경우 공간 소비가 크게 증가할 수 있습니다.
Cluster01::> volume create -volume new_asm -aggregate data_02 -size 120G -snapshot-policy none [Job 1152] Job succeeded: Successful Cluster01::> volume create -volume new_lvm -aggregate data_02 -size 120G -snapshot-policy none [Job 1153] Job succeeded: Successful Cluster01::>
ONTAP LUN을 생성합니다
볼륨을 생성한 후에는 새 LUN을 생성해야 합니다. 일반적으로 LUN을 생성할 때 사용자가 LUN 크기와 같은 정보를 지정해야 하지만 이 경우에는 외부 디스크 인수가 명령에 전달됩니다. 따라서 ONTAP는 지정된 일련 번호에서 현재 LUN 구성 데이터를 복제합니다. 또한 LUN 형태 및 파티션 테이블 데이터를 사용하여 LUN 정렬을 조정하고 최적의 성능을 설정합니다.
이 단계에서는 올바른 외부 LUN이 올바른 새 LUN과 일치하는지 확인하기 위해 외부 스토리지와 일련 번호를 상호 참조해야 합니다.
Cluster01::*> lun create -vserver vserver1 -path /vol/new_asm/LUN0 -ostype linux -foreign-disk 800DT$HuVWBW Created a LUN of size 10g (10737418240) Cluster01::*> lun create -vserver vserver1 -path /vol/new_asm/LUN1 -ostype linux -foreign-disk 800DT$HuVWBX Created a LUN of size 10g (10737418240) ... Created a LUN of size 10g (10737418240) Cluster01::*> lun create -vserver vserver1 -path /vol/new_lvm/LUN8 -ostype linux -foreign-disk 800DT$HuVWBn Created a LUN of size 10g (10737418240) Cluster01::*> lun create -vserver vserver1 -path /vol/new_lvm/LUN9 -ostype linux -foreign-disk 800DT$HuVWBo Created a LUN of size 10g (10737418240)
가져오기 관계를 만듭니다
이제 LUN이 생성되었지만 복제 대상으로 구성되지 않았습니다. 이 단계를 수행하려면 먼저 LUN을 오프라인 상태로 전환해야 합니다. 이 추가 단계는 사용자 오류로부터 데이터를 보호하도록 설계되었습니다. ONTAP에서 온라인 LUN에 대해 마이그레이션을 수행할 수 있었다면 인쇄 오류로 인해 활성 데이터를 덮어쓸 위험이 발생할 수 있습니다. 사용자가 먼저 LUN을 오프라인으로 전환하도록 하는 추가 단계는 올바른 타겟 LUN이 마이그레이션 대상으로 사용되는지 확인하는 데 도움이 됩니다.
Cluster01::*> lun offline -vserver vserver1 -path /vol/new_asm/LUN0 Warning: This command will take LUN "/vol/new_asm/LUN0" in Vserver "vserver1" offline. Do you want to continue? {y|n}: y Cluster01::*> lun offline -vserver vserver1 -path /vol/new_asm/LUN1 Warning: This command will take LUN "/vol/new_asm/LUN1" in Vserver "vserver1" offline. Do you want to continue? {y|n}: y ... Warning: This command will take LUN "/vol/new_lvm/LUN8" in Vserver "vserver1" offline. Do you want to continue? {y|n}: y Cluster01::*> lun offline -vserver vserver1 -path /vol/new_lvm/LUN9 Warning: This command will take LUN "/vol/new_lvm/LUN9" in Vserver "vserver1" offline. Do you want to continue? {y|n}: y
LUN이 오프라인 상태가 된 후 외부 LUN 일련 번호를 에 전달하여 임포트 관계를 설정할 수 있습니다 lun import create
명령.
Cluster01::*> lun import create -vserver vserver1 -path /vol/new_asm/LUN0 -foreign-disk 800DT$HuVWBW Cluster01::*> lun import create -vserver vserver1 -path /vol/new_asm/LUN1 -foreign-disk 800DT$HuVWBX ... Cluster01::*> lun import create -vserver vserver1 -path /vol/new_lvm/LUN8 -foreign-disk 800DT$HuVWBn Cluster01::*> lun import create -vserver vserver1 -path /vol/new_lvm/LUN9 -foreign-disk 800DT$HuVWBo Cluster01::*>
모든 임포트 관계가 설정되면 LUN을 다시 온라인 상태로 전환할 수 있습니다.
Cluster01::*> lun online -vserver vserver1 -path /vol/new_asm/LUN0 Cluster01::*> lun online -vserver vserver1 -path /vol/new_asm/LUN1 ... Cluster01::*> lun online -vserver vserver1 -path /vol/new_lvm/LUN8 Cluster01::*> lun online -vserver vserver1 -path /vol/new_lvm/LUN9 Cluster01::*>
이니시에이터 그룹을 생성합니다
igroup(이니시에이터 그룹)은 ONTAP LUN 마스킹 아키텍처의 일부입니다. 호스트에 처음으로 액세스 권한이 부여되지 않으면 새로 생성된 LUN에 액세스할 수 없습니다. 이 작업은 액세스 권한을 부여해야 할 FC WWN 또는 iSCSI 이니시에이터 이름을 나열하는 igroup을 생성하여 수행합니다. 이 보고서가 작성된 시점을 기준으로 FLI는 FC LUN에 대해서만 지원됩니다. 그러나 에 나와 있는 것처럼 iSCSI 사후 마이그레이션으로 변환하는 작업은 간단합니다 "프로토콜 변환".
이 예에서는 호스트의 HBA에서 사용 가능한 두 포트에 해당하는 두 개의 WWN이 포함된 igroup을 생성합니다.
Cluster01::*> igroup create linuxhost -protocol fcp -ostype linux -initiator 21:00:00:0e:1e:16:63:50 21:00:00:0e:1e:16:63:51
호스트에 새 LUN 매핑
igroup 작성 후에 LUN이 정의된 igroup에 매핑됩니다. 이 LUN은 이 igroup에 포함된 WWN에만 사용할 수 있습니다. NetApp는 마이그레이션 프로세스에서 이 단계에서 호스트가 ONTAP에 조닝되지 않은 것으로 가정합니다. 이는 호스트가 외부 스토리지와 새 ONTAP 시스템에 동시에 조닝되는 경우 동일한 일련 번호를 가진 LUN이 각 어레이에서 검색될 위험이 있기 때문에 중요합니다. 이 상황은 다중 경로 오작동이나 데이터 손상으로 이어질 수 있습니다.
Cluster01::*> lun map -vserver vserver1 -path /vol/new_asm/LUN0 -igroup linuxhost Cluster01::*> lun map -vserver vserver1 -path /vol/new_asm/LUN1 -igroup linuxhost ... Cluster01::*> lun map -vserver vserver1 -path /vol/new_lvm/LUN8 -igroup linuxhost Cluster01::*> lun map -vserver vserver1 -path /vol/new_lvm/LUN9 -igroup linuxhost Cluster01::*>