Linux에서 AzCopy v7을 사용하여 데이터 전송

AzCopy는 최적의 성능을 위해 설계된 간단한 명령을 사용하여 Microsoft Azure Blob 및 File Storage 간에 데이터를 복사하도록 설계된 명령줄 유틸리티입니다. 파일 시스템과 스토리지 계정 간 또는 스토리지 계정 간에 데이터를 복사할 수 있습니다.

Important

이 문서에서는 이전 버전의 AzCopy에 대해 설명합니다. 최신 버전의 AzCopy를 설치하려면 AzCopy v10을 참조 하세요.

참고 항목

AzCopy 7.2 버전부터 .NET Core 종속성이 AzCopy 패키지에 패키징됩니다. 7.2 이상 버전을 사용하는 경우 더 이상 필수 구성 요소로 .NET Core를 설치할 필요가 없습니다.

AzCopy 다운로드 및 설치

Linux에서 설치

참고 항목

배포에 따라 이 .NET Core 필수 구성 요소 문서에 강조된 .NET Core 2.1 종속성을 설치해야 할 수도 있습니다.

RHEL 7 배포의 경우 ICU 및 libunwind 종속성을 설치합니다. yum install -y libunwind icu

Linux(v7.2 이상)에 AzCopy를 설치하는 것은 tar 패키지를 추출하고 설치 스크립트를 실행하는 것만큼 쉽습니다.

RHEL 6 기반 배포: 다운로드 링크

wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinuxrhel6
tar -xf azcopy.tar.gz
sudo ./install.sh

그 외의 Linux 배포판: 다운로드 링크

wget -O azcopy.tar.gz https://aka.ms/downloadazcopylinux64
tar -xf azcopy.tar.gz
sudo ./install.sh

Linux에서 AzCopy가 설치되면 추출한 파일을 제거할 수 있습니다. 또는 슈퍼 사용자 권한이 없는 경우 추출된 폴더의 셸 스크립트 azcopy를 사용하여 실행할 azcopy 수도 있습니다.

Ubuntu에 대체 설치

Ubuntu 14.04

Microsoft Linux 제품 리포지토리에 대한 apt 원본을 추가하고 AzCopy를 설치합니다.

sudo echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-trusty-prod/ trusty main" > azure.list
sudo cp ./azure.list /etc/apt/sources.list.d/
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF
sudo apt-get update
sudo apt-get install azcopy

Ubuntu 16.04

Microsoft Linux 제품 리포지토리에 대한 apt 원본을 추가하고 AzCopy를 설치합니다.

echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod/ xenial main" > azure.list
sudo cp ./azure.list /etc/apt/sources.list.d/
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys EB3E94ADBE1229CF
sudo apt-get update
sudo apt-get install azcopy

첫 번째 AzCopy 명령 작성

AzCopy 명령의 기본 구문은 다음과 같습니다.

azcopy --source <source> --destination <destination> [Options]

다음 예제에서는 Microsoft Azure Blob 및 Files 간에 데이터를 복사하는 다양한 시나리오를 보여 줍니다. 각 샘플에 사용된 매개 변수에 대한 자세한 설명은 azcopy --help 메뉴를 참조하세요.

Blob: 다운로드

단일 Blob 다운로드

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer/abc.txt \
    --destination /mnt/myfiles/abc.txt \
    --source-key <key> 

폴더 /mnt/myfiles 가 없으면 AzCopy에서 폴더를 만들고 새 폴더로 다운로드합니다 abc.txt .

보조 지역에서 단일 Blob 다운로드

azcopy \
    --source https://myaccount-secondary.blob.core.windows.net/mynewcontainer/abc.txt \
    --destination /mnt/myfiles/abc.txt \
    --source-key <key>

읽기 액세스 지역 중복 스토리지를 사용하도록 설정해야 합니다.

모든 Blob 다운로드

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --recursive

다음 Blob이 지정된 컨테이너에 있는 경우를 생각해 보겠습니다.

abc.txt
abc1.txt
abc2.txt
vd1/a.txt
vd1/abcd.txt

다운로드 작업 후 디렉터리에 /mnt/myfiles 는 다음 파일이 포함됩니다.

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/vd1/a.txt
/mnt/myfiles/vd1/abcd.txt

옵션을 --recursive지정하지 않으면 Blob이 다운로드되지 않습니다.

지정된 접두사를 사용하여 Blob 다운로드

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --include "a" \
    --recursive

다음 Blob이 지정된 컨테이너에 있다고 가정합니다. 접두사 a로 시작하는 모든 Blob이 다운로드됩니다.

abc.txt
abc1.txt
abc2.txt
xyz.txt
vd1\a.txt
vd1\abcd.txt

다운로드 작업 후 폴더 /mnt/myfiles 에는 다음 파일이 포함됩니다.

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt

접두사는 Blob 이름의 처음 부분을 구성하는 가상 디렉터리에 적용됩니다. 위에 표시된 예제에서 가상 디렉터리가 지정된 접두사와 일치하지 않으므로 Blob이 다운로드되지 않습니다. 또한 옵션을 --recursive 지정하지 않으면 AzCopy는 Blob을 다운로드하지 않습니다.

내보낸 파일의 마지막 수정 시간을 원본 Blob과 동일하게 설정합니다.

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination "/mnt/myfiles" \
    --source-key <key> \
    --preserve-last-modified-time

마지막으로 수정한 시간에 따라 다운로드 작업에서 Blob을 제외할 수도 있습니다. 예를 들어 마지막으로 수정된 시간이 대상 파일과 동일하거나 더 최신인 Blob을 제외하려는 경우 --exclude-newer 옵션을 추가합니다.

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --preserve-last-modified-time \
    --exclude-newer

또는 마지막으로 수정된 시간이 대상 파일과 동일하거나 더 이전인 Blob을 제외하려는 경우 --exclude-older 옵션을 추가합니다.

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer \
    --destination /mnt/myfiles \
    --source-key <key> \
    --preserve-last-modified-time \
    --exclude-older

Blob: 업로드

단일 파일 업로드

azcopy \
    --source /mnt/myfiles/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer/abc.txt \
    --dest-key <key>

지정된 대상 컨테이너가 존재하지 않을 경우 AzCopy는 컨테이너를 만든 후 여기에 파일을 업로드합니다.

가상 디렉터리에 단일 파일 업로드

azcopy \
    --source /mnt/myfiles/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer/vd/abc.txt \
    --dest-key <key>

지정된 가상 디렉터리가 없는 경우 AzCopy는 Blob 이름에 가상 디렉터리를 포함하도록 파일을 업로드합니다(예:vd/abc.txt 위 예제).

stdin에서 리디렉션

gzip myarchive.tar -c | azcopy \
    --destination https://myaccount.blob.core.windows.net/mycontainer/mydir/myarchive.tar.gz \
    --dest-key <key>

모든 파일 업로드

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --recursive

--recursive 옵션을 지정하면 지정된 디렉터리의 내용이 Blob Storage에 재귀적으로 업로드됩니다. 즉, 모든 하위 폴더 및 해당 파일도 업로드됩니다. 예를 들어 다음 파일이 폴더 /mnt/myfiles에 있다고 가정합니다.

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/subfolder/a.txt
/mnt/myfiles/subfolder/abcd.txt

업로드 작업 후 컨테이너에는 다음 파일이 포함됩니다.

abc.txt
abc1.txt
abc2.txt
subfolder/a.txt
subfolder/abcd.txt

옵션을 --recursive 지정하지 않으면 다음 세 개의 파일만 업로드됩니다.

abc.txt
abc1.txt
abc2.txt

지정된 패턴과 일치하는 파일 업로드

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --include "a*" \
    --recursive

다음 파일이 /mnt/myfiles폴더에 있는 경우를 생각해 보겠습니다.

/mnt/myfiles/abc.txt
/mnt/myfiles/abc1.txt
/mnt/myfiles/abc2.txt
/mnt/myfiles/xyz.txt
/mnt/myfiles/subfolder/a.txt
/mnt/myfiles/subfolder/abcd.txt

업로드 작업 후 컨테이너에는 다음 파일이 포함됩니다.

abc.txt
abc1.txt
abc2.txt
subfolder/a.txt
subfolder/abcd.txt

옵션을 --recursive 지정하지 않으면 AzCopy는 하위 디렉터리에 있는 파일을 건너뜁니다.

abc.txt
abc1.txt
abc2.txt

대상 Blob의 MIME 콘텐츠 형식을 지정합니다.

기본적으로 AzCopy는 대상 Blob의 콘텐츠 형식을 .로 application/octet-stream설정합니다. 그러나 옵션을 --set-content-type [content-type]통해 콘텐츠 형식을 명시적으로 지정할 수 있습니다. 이 구문은 업로드 작업에서 모든 Blob의 콘텐츠 형식을 설정합니다.

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/myContainer/ \
    --dest-key <key> \
    --include "ab" \
    --set-content-type "video/mp4"

값 없이 옵션을 --set-content-type 지정하는 경우 AzCopy는 각 Blob 또는 파일의 콘텐츠 형식을 파일 확장명별로 설정합니다.

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/myContainer/ \
    --dest-key <key> \
    --include "ab" \
    --set-content-type

MIME 콘텐츠 형식 매핑 사용자 지정

AzCopy는 파일 확장자를 콘텐츠 형식에 매핑하는 구성 파일을 사용합니다. 필요에 따라 이 매핑을 사용자 지정하고 새 쌍을 추가할 수 있습니다. 매핑은 에 있습니다. /usr/lib/azcopy/AzCopyConfig.json

Blob: 복사

Storage 계정 내에서 단일 Blob 복사

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer1/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer2/abc.txt \
    --source-key <key> \
    --dest-key <key>

--sync-copy 옵션 없이 Blob을 복사하면 서버 쪽 복사 작업이 수행됩니다.

Storage 계정 간에 단일 Blob 복사

azcopy \
    --source https://sourceaccount.blob.core.windows.net/mycontainer1/abc.txt \
    --destination https://destaccount.blob.core.windows.net/mycontainer2/abc.txt \
    --source-key <key1> \
    --dest-key <key2>

--sync-copy 옵션 없이 Blob을 복사하면 서버 쪽 복사 작업이 수행됩니다.

보조 지역에서 주 지역으로 단일 Blob 복사

azcopy \
    --source https://myaccount1-secondary.blob.core.windows.net/mynewcontainer1/abc.txt \
    --destination https://myaccount2.blob.core.windows.net/mynewcontainer2/abc.txt \
    --source-key <key1> \
    --dest-key <key2>

읽기 액세스 지역 중복 스토리지를 사용하도록 설정해야 합니다.

Storage 계정에서 단일 Blob 및 해당 스냅샷 복사

azcopy \
    --source https://sourceaccount.blob.core.windows.net/mycontainer1/ \
    --destination https://destaccount.blob.core.windows.net/mycontainer2/ \
    --source-key <key1> \
    --dest-key <key2> \
    --include "abc.txt" \
    --include-snapshot

복사 작업 후에 대상 컨테이너에는 Blob 및 해당 스냅샷이 포함됩니다. 컨테이너에는 다음 Blob과 스냅샷이 포함됩니다.

abc.txt
abc (2013-02-25 080757).txt
abc (2014-02-21 150331).txt

Storage 계정 간 Blob 비동기 복사

기본적으로 AzCopy는 두 스토리지 엔드포인트 간에 데이터를 비동기적으로 복사합니다. 따라서 복사 작업은 Blob 복사 속도 측면에서 SLA가 없는 예비 대역폭 용량을 사용하여 백그라운드에서 실행됩니다.

--sync-copy 옵션을 사용하면 복사 작업이 일관된 속도를 얻을 수 있습니다. AzCopy는 지정된 원본에서 로컬 메모리로 복사할 Blob을 다운로드한 다음 Blob Storage 대상으로 업로드하여 동기 복사를 수행합니다.

azcopy \
    --source https://myaccount1.blob.core.windows.net/myContainer/ \
    --destination https://myaccount2.blob.core.windows.net/myContainer/ \
    --source-key <key1> \
    --dest-key <key2> \
    --include "ab" \
    --sync-copy

--sync-copy 는 비동기 복사에 비해 추가 송신 비용을 생성할 수 있습니다. 송신 비용을 방지하기 위해 원본 스토리지 계정과 동일한 지역에 있는 Azure VM에서 이 옵션을 사용하는 것이 좋습니다.

파일: 다운로드

단일 파일 다운로드

azcopy \
    --source https://myaccount.file.core.windows.net/myfileshare/myfolder1/abc.txt \
    --destination /mnt/myfiles/abc.txt \
    --source-key <key>

지정된 원본이 Azure 파일 공유인 경우 단일 파일을 다운로드하려면 정확한 파일 이름(예: abc.txt)을 지정하거나 공유의 모든 파일을 재귀적으로 다운로드하는 옵션을 --recursive 지정해야 합니다. 파일 패턴과 --recursive 옵션을 함께 지정하려고 하면 오류가 발생합니다.

모든 파일 다운로드

azcopy \
    --source https://myaccount.file.core.windows.net/myfileshare/ \
    --destination /mnt/myfiles \
    --source-key <key> \
    --recursive

빈 폴더는 다운로드되지 않습니다.

파일: 업로드

단일 파일 업로드

azcopy \
    --source /mnt/myfiles/abc.txt \
    --destination https://myaccount.file.core.windows.net/myfileshare/abc.txt \
    --dest-key <key>

모든 파일 업로드

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.file.core.windows.net/myfileshare/ \
    --dest-key <key> \
    --recursive

빈 폴더는 업로드되지 않습니다.

지정된 패턴과 일치하는 파일 업로드

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.file.core.windows.net/myfileshare/ \
    --dest-key <key> \
    --include "ab*" \
    --recursive

파일: 복사

파일 공유 간 복사

azcopy \
    --source https://myaccount1.file.core.windows.net/myfileshare1/ \
    --destination https://myaccount2.file.core.windows.net/myfileshare2/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive

파일 공유에 파일을 복사할 때는 서버 쪽 복사 작업이 수행됩니다.

파일 공유에서 Blob으로 복사

azcopy \ 
    --source https://myaccount1.file.core.windows.net/myfileshare/ \
    --destination https://myaccount2.blob.core.windows.net/mycontainer/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive

파일 공유에서 Blob으로 파일을 복사할 때는 서버 쪽 복사 작업이 수행됩니다.

Blob에서 파일 공유로 복사

azcopy \
    --source https://myaccount1.blob.core.windows.net/mycontainer/ \
    --destination https://myaccount2.file.core.windows.net/myfileshare/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive

Blob에서 파일 공유 로 파일을 복사하면 서버 쪽 복사 작업이 수행됩니다.

동기적으로 파일 복사

--sync-copy 옵션을 지정하여 File Storage 간에, File Storage에서 Blob Storage로, Blob Storage에서 File Storage로 동기적으로 데이터를 복사할 수 있습니다. AzCopy는 로컬 메모리에 원본 데이터를 다운로드한 후 대상에 다시 업로드하여 이 작업을 수행합니다. 이 경우 표준 송신 비용이 적용됩니다.

azcopy \
    --source https://myaccount1.file.core.windows.net/myfileshare1/ \
    --destination https://myaccount2.file.core.windows.net/myfileshare2/ \
    --source-key <key1> \
    --dest-key <key2> \
    --recursive \
    --sync-copy

파일 스토리지에서 Blob Storage로 복사할 때 기본 Blob 유형은 블록 Blob이며 사용자는 대상 Blob 형식을 변경하는 옵션을 --blob-type page 지정할 수 있습니다. 사용 가능한 형식은 다음과 같습니다 page | block | append.

--sync-copy 비동기 복사와 비교하여 추가 송신 비용이 발생할 수 있습니다. 송신 비용을 방지하기 위해 원본 스토리지 계정과 동일한 지역에 있는 Azure VM에서 이 옵션을 사용하는 것이 좋습니다.

기타 AzCopy 기능

대상에 없는 데이터만 복사

--exclude-older--exclude-newer 매개 변수를 통해 이전 또는 최신 소스 리소스를 각각 복사 작업에서 제외할 수 있습니다. 대상에 없는 원본 리소스만 복사하려는 경우 AzCopy 명령에서 두 매개 변수를 모두 지정할 수 있습니다.

--source http://myaccount.blob.core.windows.net/mycontainer --destination /mnt/myfiles --source-key <sourcekey> --recursive --exclude-older --exclude-newer

--source /mnt/myfiles --destination http://myaccount.file.core.windows.net/myfileshare --dest-key <destkey> --recursive --exclude-older --exclude-newer

--source http://myaccount.blob.core.windows.net/mycontainer --destination http://myaccount.blob.core.windows.net/mycontainer1 --source-key <sourcekey> --dest-key <destkey> --recursive --exclude-older --exclude-newer

구성 파일을 사용하여 명령줄 매개 변수 지정

azcopy --config-file "azcopy-config.ini"

구성 파일에 AzCopy 명령줄 매개 변수를 포함할 수 있습니다. AzCopy는 파일의 매개 변수가 마치 명령줄에 지정된 것처럼 처리하고 파일 내용을 직접적으로 대체합니다.

다음 줄이 포함된 구성 copyoperation파일을 가정합니다. 각 AzCopy 매개 변수는 한 줄에 지정할 수 있습니다.

--source http://myaccount.blob.core.windows.net/mycontainer --destination /mnt/myfiles --source-key <sourcekey> --recursive --quiet

또는 별도의 줄에서 다음을 수행합니다.

--source http://myaccount.blob.core.windows.net/mycontainer
--destination /mnt/myfiles
--source-key<sourcekey>
--recursive
--quiet

매개 변수에 대해 다음과 같이 매개 변수를 두 줄로 분할하면 AzCopy가 --source-key 실패합니다.

http://myaccount.blob.core.windows.net/mycontainer
/mnt/myfiles
--sourcekey
<sourcekey>
--recursive
--quiet

SAS(공유 액세스 서명) 지정

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer1/abc.txt \
    --destination https://myaccount.blob.core.windows.net/mycontainer2/abc.txt \
    --source-sas <SAS1> \
    --dest-sas <SAS2>

또한 컨테이너 URI에서 SAS를 지정할 수도 있습니다.

azcopy \
    --source https://myaccount.blob.core.windows.net/mycontainer1/?SourceSASToken \
    --destination /mnt/myfiles \
    --recursive

저널 파일 폴더

AzCopy에 명령을 실행할 때마다 저널 파일이 기본 폴더에 있는지 또는 이 옵션을 통해 지정한 폴더에 있는지 확인합니다. 저널 파일이 어느 위치에도 없으면 AzCopy는 작업을 새 작업으로 처리하고 새 저널 파일을 생성합니다.

저널 파일이 존재하면 AzCopy는 입력한 명령줄이 저널 파일의 명령줄과 일치하는지 확인합니다. 두 명령줄이 일치하면 AzCopy는 불완전한 작업을 다시 시작합니다. 일치하지 않으면 AzCopy에서 사용자에게 저널 파일을 덮어써서 새 작업을 시작할지 또는 현재 작업을 취소할지 묻는 메시지가 표시됩니다.

저널 파일의 기본 위치를 사용하려면 다음을 수행합니다.

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --resume

위에서 설명한 대로 옵션을 --resume생략하거나 폴더 경로 없이 옵션을 --resume 지정하면 AzCopy는 기본 위치인 ~\Microsoft\Azure\AzCopy저널 파일을 만듭니다. 저널 파일이 이미 있는 경우 AzCopy는 저널 파일을 기반으로 작업을 다시 시작합니다.

저널 파일의 사용자 지정 위치를 지정하려면 다음을 수행합니다.

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key key \
    --resume "/mnt/myjournal"

이 예제에서는 저널 파일이 아직 없는 경우 만듭니다. 저널 파일이 있으면 AzCopy는 저널 파일을 기반으로 작업을 다시 시작합니다.

AzCopy 작업을 다시 시작하려면 동일한 명령을 반복합니다. Linux에서 AzCopy에 확인 메시지가 표시됩니다.

Incomplete operation with same command line detected at the journal directory "/home/myaccount/Microsoft/Azure/AzCopy", do you want to resume the operation? Choose Yes to resume, choose No to overwrite the journal to start a new operation. (Yes/No)

자세한 정보 표시 로그 출력

azcopy \
    --source /mnt/myfiles \
    --destination https://myaccount.blob.core.windows.net/mycontainer \
    --dest-key <key> \
    --verbose

시작할 동시 작업 수 지정

옵션은 --parallel-level 동시 복사 작업의 수를 지정합니다. 기본적으로 AzCopy는 데이터 전송 처리량을 늘리기 위해 특정 수의 동시 작업을 시작합니다. 동시 작업 수는 가지고 있는 프로세서 수의 8배입니다. 낮은 대역폭 네트워크에서 AzCopy를 실행하는 경우 리소스 경쟁으로 인한 오류를 방지하기 위해 --parallel-level에 대해 더 낮은 수를 지정할 수 있습니다.

AzCopy 매개 변수의 전체 목록을 보려면 'azcopy --help' 메뉴를 확인하세요.

AzCopy 7.1 이전 버전에 대한 설치 단계

Linux의 AzCopy(v7.1 및 이전 버전에만 해당)에는 .NET Core 프레임워크가 필요합니다. 설치 지침은 .NET Core 설치 페이지에서 사용할 수 있습니다.

예를 들어 Ubuntu 16.10에 .NET Core를 설치하여 시작합니다. 최신 설치 가이드는 Linux의 .NET Core 설치 페이지를 방문하세요.

sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ yakkety main" > /etc/apt/sources.list.d/dotnetdev.list' 
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
sudo apt-get update
sudo apt-get install dotnet-sdk-2.0.0

.NET Core를 설치했으면 AzCopy를 다운로드 및 설치합니다.

wget -O azcopy.tar.gz https://aka.ms/downloadazcopyprlinux
tar -xf azcopy.tar.gz
sudo ./install.sh

Linux에서 AzCopy가 설치되면 추출한 파일을 제거할 수 있습니다. 또는 슈퍼 사용자 권한이 없는 경우 추출된 폴더의 셸 스크립트 azcopy를 사용하여 실행할 azcopy 수도 있습니다.

알려진 문제 및 모범 사례

AzCopy 설치 오류

AzCopy 설치에 문제가 발생하는 경우 추출된 azcopy 폴더의 bash 스크립트를 사용하여 AzCopy를 실행하려고 할 수 있습니다.

cd azcopy
./azcopy

데이터를 복사하는 동안 동시 쓰기 제한

AzCopy를 사용하여 Blob 또는 파일을 복사하는 경우 데이터를 복사하는 동안 다른 애플리케이션이 데이터를 수정할 수 있습니다. 가능한 경우 복사 중인 데이터가 복사 작업 중에 수정되지 않도록 합니다. 예를 들어 Azure 가상 머신과 연결된 VHD를 복사할 때 다른 애플리케이션이 현재 VHD에 쓰고 있지 않은지 확인합니다. 이 작업을 수행하는 좋은 방법은 복사할 리소스를 임대하는 것입니다. 또는 먼저 VHD의 스냅샷을 만든 다음 스냅샷을 복사할 수 있습니다.

다른 애플리케이션이 복사되는 동안 Blob 또는 파일에 쓰는 것을 방지할 수 없는 경우 작업이 완료될 때까지 복사된 리소스가 더 이상 원본 리소스와 완전히 동등하지 않을 수 있음을 명심하세요.

여러 AzCopy 프로세스 실행

여러 저널 폴더를 사용하는 단일 클라이언트에서 여러 AzCopy 프로세스를 실행할 수 있습니다. 여러 AzCopy 프로세스에 단일 저널 폴더를 사용하는 것은 지원되지 않습니다.

첫 번째 프로세스:

azcopy \
    --source /mnt/myfiles1 \
    --destination https://myaccount.blob.core.windows.net/mycontainer/myfiles1 \
    --dest-key <key> \
    --resume "/mnt/myazcopyjournal1"

두 번째 프로세스:

azcopy \
    --source /mnt/myfiles2 \
    --destination https://myaccount.blob.core.windows.net/mycontainer/myfiles2 \
    --dest-key <key> \
    --resume "/mnt/myazcopyjournal2"

다음 단계

Azure Storage 및 AzCopy에 대한 자세한 내용은 다음 리소스를 참조하세요.

Azure Storage 설명서:

Azure Storage 블로그 게시물: