2016-10-20 4 views
0

/dev/sdf에있는 현재 500GB Amazon EBS 콜드 HDD (sc1) 볼륨이 가득 찼습니다. 여기 튜토리얼 (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html#migrate-data-larger-volume)에 따라 1.5 TB SC1을 성공적으로 가져 와서/dev/xvda에 마운트하고 인스턴스에 연결했습니다. 500GB sc1 (/ dev/sdf)도 인스턴스에 연결됩니다.Amazon EC2 인스턴스에서 sc1 볼륨을 모두 마운트하는 방법

안타깝게도 인스턴스를 켜면/dev/xvda에 새로운 1.5TB SC1이 있지만/dev/sdf에있는 기존 500GB SC1과 해당 데이터는 볼 수 없습니다. 나는 할 때 DF -h :

df -h 
Filesystem  Size Used Avail Use% Mounted on 
/dev/xvdg1  1.5T 34G 1.5T 3%/
devtmpfs  7.9G 76K 7.9G 1% /dev 
tmpfs   7.9G  0 7.9G 0% /dev/shm 

내가 인스턴스에서 1.5 TB의 SC1을 (은/dev/xvda) 분리, 인스턴스를 해제에 첨부 된 500기가바이트 TB SC1 (는/dev/자위대)를 유지하는 경우 인스턴스를 실행하고 마지막으로 인스턴스를 다시 시작하면 500GB TB SC1 (/ dev/sdf)과 해당 데이터가 다시 표시됩니다.

df -h 
Filesystem  Size Used Avail Use% Mounted on 
/dev/sdf  500G 492G 8G 99%/
devtmpfs  7.9G 76K 7.9G 1% /dev 
tmpfs   7.9G  0 7.9G 0% /dev/shm 

이 두 볼륨을 모두 마운트하고이 두 볼륨간에 데이터를 전송할 수있는 방법이 있습니까? 어떤 전문가는 계몽 할 수 있습니까? 감사. 주석에

#

에 응답 :

다음 500 기가 바이트와 1.5GB SC1 모두 연결되어 "lsblk"의 결과입니다.

lsblk 
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 
xvda 202:0 0 8G 0 disk 
└─xvda1 202:1 0 8G 0 part 
xvdf 202:80 0 500G 0 disk 
└─xvdf1 202:81 0 500G 0 part 
xvdg 202:96 0 1.5T 0 disk 
└─xvdg1 202:97 0 1.5T 0 part/

다음은 500GB와 1.5GB SC1이 모두 연결된 경우 "/ etc/fstab"의 내용입니다.

LABEL=/ /   ext4 defaults,noatime 1 1 
tmpfs  /dev/shm tmpfs defaults  0 0 
devpts  /dev/pts devpts gid=5,mode=620 0 0 
sysfs  /sys  sysfs defaults  0 0 
proc  /proc  proc defaults  0 0 

추가 의견 :

UUID는 다음

uuidgen 
tune2fs /dev/xvdf1 -U <the uuid generated before> 
시도 후

ls -l /dev/disk/by-uuid 
total 0 
lrwxrwxrwx 1 root root 11 Oct 19 08:54 43c07df6-e944-4b25-8fd1-5ff848b584b2 -> ../../xvdg1 

# 2016년 10월 21일 업데이트

결과3210

두 볼륨이 모두 인스턴스에 연결되어 있는지 확인하고 인스턴스를 다시 시작하면 500GB 볼륨 만 표시됩니다.

df -h 
Filesystem  Size Used Avail Use% Mounted on 
/dev/xvdg1  493G 473G 20G 96%/
devtmpfs  7.9G 76K 7.9G 1% /dev 
tmpfs   7.9G  0 7.9G 0% /dev/shm 

lsblk 
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT 
xvda 202:0 0 8G 0 disk 
└─xvda1 202:1 0 8G 0 part 
xvdf 202:80 0 500G 0 disk 
└─xvdf1 202:81 0 500G 0 part/
xvdg 202:96 0 1.5T 0 disk 
└─xvdg1 202:97 0 1.5T 0 part/

ls -l /dev/disk/by-uuid 
total 0 
lrwxrwxrwx 1 root root 11 Oct 20 20:48 43c07df6-e944-4b25-8fd1-5ff848b584b2 -> ../../xvdg1 
lrwxrwxrwx 1 root root 11 Oct 20 20:48 a0161cdc-2c25-4d18-9f01-a75c6df54ccd -> ../../xvdf1 

또한 "sudo mount/dev/xvdg1"은 도움이되지 않습니다. 깨달을 수 있니? 감사!

+0

두 볼륨이 모두 인스턴스에 연결되어있을 때 사용 가능한 디스크와 'lsblk'을 (를) 실행하는 마운트 포인트를 나열 할 수 있습니까? –

+0

/dev/xvda로 연결된 sc1 볼륨에서 인스턴스를 부팅하는 방법이 명확하지 않습니다. docs ['sc1' 볼륨은 부팅 볼륨이 될 수 없습니다] (http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html), 'st1'도 사용할 수 없으며 출력 캡처는 다음과 같습니다. xvda가 아닌 첨부 파일을 보여줍니다. –

+0

@ FrédéricHenri가 정확한 경로에 있다고 생각하고'/ etc/fstab '의 내용이 도움이 될 수 있습니다. 볼륨이 연결되어 있지만 ext2 (호환) 레이블 또는 uuid로 마운트하는 경우 부팅시 시스템 중 하나만 마운트됩니다 ... 해당 클론이므로 해당 레이블과 uuids는 동일합니다. –

답변

1

2 개의 디스크가 복제되어 있고 동일한 UUID를 가지고있는 경우 동시에 부팅 할 때 동시에 마운트 할 수 없으며 부팅하는 동안 찾은 첫 번째 파티션이 마운트됩니다.

는 디스크

uuidgen 

이 당신에게 새로운 UUID를 줄 것이다 실행을위한 새로운 UUID를 생성 - 이름이

는 디스크에 새로운 UUID 적용됩니다 고유 의미로

귀하의 경우에 xvdf은 마운트되어 있지 않으므로 해당 UUID를 변경할 수 있습니다.

마운트 지점 변경

복제가 진행됨에 따라 두 디스크의 마운트 지점이 같고 불가능합니다. 파일 시스템 테이블을 업데이트해야합니다.

  1. 은 새 마운트 지점에

    mkdir /new_drive 
    
  2. 드라이브를 탑재하여 마운트 포인트가 될 것입니다 새 폴더를 만들

    sudo mount /dev/xvdg1 /new_drive 
    
  3. 업데이트 /etc/fstab 그래서 제대로에 장착됩니다 다음 재부팅

업데이트 /dev/xvdg1 드라이브에 대한 선, 당신은

/dev/xvdg1/ext4 ........ 

변경 1.5 TB에서

/dev/xvdg1 /new_drive ext4 ........ 

모든 데이터가 /new_drive에 액세스 할 수있는 2 열 같은 것을 가지고있다. mount -a

폴더 이름을 변경하거나 1.5TB를 루트 ​​탑재 지점으로 유지하고 500GB 드라이브를 변경하려면이 절차를 적용하십시오.

+0

* "부팅하는 동안 발견 한 첫 번째 파티션을 마운트합니다"* "첫 번째"파티션 (기술적으로는 물론 파일 시스템)에 대해 확실하지 않습니다. 나는이 오류를 만들었고 마지막 * 하나를 마운트 한 것을 발견했습니다. 정의 된 동작이 무엇인지는 모르겠지만 물론이 경우에는 둘 이상을 탑재하지 않을 것이라는 점은 맞습니다. –

+0

감사합니다. @ Michael-sqlbot 실제로 실제로 조사한 적이 없었습니다 (AWS가 아닌 한 번 사례가 있다고 생각합니다). 수퍼 유저 사이트 –

+0

에게 좋은 질문 일 수 있습니다. Thanks @ FrédéricHenri. 그냥 두 번 확인 : UUID 이름 바꾸기 : 1. 우리는 인스턴스를 종료 할 필요가 없습니다 2. 우리는 디스크/volumne 안의 데이터를 잃지 않을 것입니까? – Chubaka

관련 문제