English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

linux에서 디렉토리 구조 변경 없이 home 디렉토리를 새 분할 영역으로 이동하는 방법

문제 제기

회사의 개발 테스트 서버는 알리云计算에 배포되어 있으며, 알리云计算에서 제공하는 인스턴스는 일반적으로 하나의 파티션만 있습니다: 20G로40G의 모습이며, 그 다음에 저장을 마운트하여 다른 디렉토리에 저장을 구매합니다.

home 디렉토리는 이 20G의 root 디렉토리 파티션에서. 개발자가 많아지면서, root 디렉토리 파티션은 빨리 모두에 의해 가득 차게 됩니다.

다수의 연구와 개발이 이루어지기 때문에, 모두에게 무감각한 home 이사 계획이 필요합니다.

기본 원리

이 작업을 받은 후, 가장 먼저 생각나는 것은 bind mount 방식입니다:

mount --bind /some/where /else/where

home의 무감각 이사를 구현할 수 있습니다.

중국어로 검색할 때 이 명령어에 대한 설명이 너무 명확하지 않다는 느낌을 받았습니다.이 질문과 답변 가능한 한 명확하게 설명되어 있으며, 영어가 잘하는 학생들은 참고할 수 있습니다.

물론, "남자"에 대해 물을 수도 있습니다: man mount

사용 방법

먼저 밤이 깊고 사람들이 없는 시간을 선택하여 who 명령어를 사용하여 여전히 서버에 남아 있는 아이들에게 전화를 걸어 모두를 청소하십시오:

$ who
Frodo pts/0    2017-04-17 09:07 (xx.xxx.xxx.xx)
Sam pts/1    2017-04-18 08:45 (xx.xxx.xxx.xx)
Pippin pts/3    2017-04-18 09:06 (xx.xxx.xxx.xx)
Merry pts/4    2017-04-18 09:07 (xx.xxx.xxx.xx)

가족들이 모두 사라졌다고 확신한 후, 이사(복사)를 시작합니다. cp 명령어를 사용하여 복사할 때, -p 옵션을 사용하여 파일 권한 설정을 유지합니다. root 권한으로 사용하면, 목표 파티션을 /new_disk :

# cp -p -r /home /new_disk/

새 집이 이미 만들어졌으므로, 우리는 먼저 고집에 다른 문표 번호를 주어야 합니다. 문표 번호를 새 집에 주고 나서 고집을 찾을 수 없게 합니다. mount를 사용하여 --bind 원래 home 디렉토리를 새 디렉토리에 마운트할 수 있습니다:

# mkdir /home_bkp
# mount --bind /home /home_bkp

이제 우리는 /home_bkp 디렉토리에서 고집의 모든 파일을 찾을 수 있습니다. 이제 /home 이 문표는 새 집에 주었습니다:

# mount --bind /new_disk/home /home

이사가 끝났습니다! 친구들에게 즐겁게 일할 수 있도록 알릴 수 있습니다. 사실, 알릴 필요가 없습니다. 이사라는 일은 우리에게는 감각이 없습니다.

물론 학생들이 물을 것입니다, 새 집과故里의 문표가 같습니다, 모두 /home, 이사가 성공했는지 어떻게 알 수 있을까요? df 명령어를 사용하여 확인할 수 있습니다:

# cd /home_bkp
# df -h .
Filesystem   Size Used Avail Use% Mounted on
/dev/xvda1    20G  17G 2.1G 90% /
# cd /home
# df -h .
Filesystem   Size Used Avail Use% Mounted on
/dev/xvdb1   296G  42G 240G 15% /new_disk

-h는 human-가능하면 readable, 추가하지 않으면도 됩니다. 그렇게 되면 나열된 것은 "반인간"의 블록 단위가 됩니다.

위의 명령어, 먼저 집에 돌아가서, 마운트 포인트는 / ; 새 집에 다시 보면, 마운트 포인트는 /new_disk . 이제 안심할 수 있습니다.

持久화

작업이 끝나지 않았습니다. 위의 작업은 현재 새 집의 주소를 바꾸는 것을 보장했습니다. 다시 시작하면, 이 정보는 잃어버리게 되며, 집 주소가 다시 원래로 돌아갑니다. 이 정보를 유지하기 위해 어떻게 해야 할지 고려해야 합니다.

수정 /etc/fstab 파일에 추가할 수 있습니다. 이 파일을 엽니다. 마지막에 다음 두 줄을 추가하세요:

/home      /home_bkp none bind 0 0
/new_disk/home  /home   none bind 0 0

이렇게 home 전환 구역 작업이 완료되었습니다.

추가

이 계획은 생각이 났을 때 생각낸 것이며, 전차의 경험을 찾지 못했습니다. 어떤 문제가 있을지 모릅니다... 현재 이 계획에서 서버가 약 1년 동안 운영되었으며, 문제가 발생하지 않았습니다. 모두들이 즐겁게 일하고, 많은 사람들이 이 사건을 모르는 경우도 많습니다.

집의 디렉토리 /home_bkp이 이 계획이 시행됩니다1이후, 문제가 없으면 공간을 확보하여 비우었습니다.

선언: 이 문서의 내용은 인터넷에서 가져왔으며, 저작권자가 모두 소유합니다. 내용은 인터넷 사용자가 자발적으로 기여하고 업로드한 것이며, 이 사이트는 소유권을 가지지 않으며, 인공적인 편집 처리를 하지 않았으며, 관련 법적 책임도 부담하지 않습니다. 저작권 침해가 의심되는 내용을 발견하면, notice#w로 이메일을 보내 주세요.3codebox.com(메일을 보내면, #을 @으로 변경하십시오. 신고하고 관련 증거를 제공하시면, 사이트가 즉시 침해된 내용을 삭제합니다。)

좋아하는 것