rsync를 이용 라즈베리파이에 USB 외장하드 ROOT 마운트 (Raspberry Pi)
- 라즈베리파이는 SD카드를 저상소로 사용합니다
- SD카드 특성상 일정회수 이상 write하면 수명을 다하는데요 서버로 오래 운영하기에는 불안함 느낌이 들어 외장하드를 root로 사용하는 방법을 찾아 봤습니다
- 리눅스 시스템에 대해 아는게 없어 애를 먹고있는 중에 [횡수] 라즈베리 파이.. HDD로 루트 마운트 성공 글이 있어 참고해서 시도해 봤습니다
- 위 글을 작성하신분은 시스템을 잘 아는 분이셔서 그런지 간단한 명령어들로 적어주셔서 제가 실제 적용하는데 시간이 좀걸렸습니다
- 이 블로그에 작성한 내용은 참고한 글에 있는 명령어를 포함하고 제가 추가한 명령을포함해 익숙하지 않은 분들도 도움이 될 수 있도록 정리를 해봤습니다
- 부팅은 SD카드로하고 저장소는 마운트된 외장하드를 이용하게 됩니다
- 구성 환경
- 500G 외장하드 (외부 전원 사용)
- SD카드 8G
- 라즈베리파이 B
- 라즈베리파이가 USB 외장하드를 인식했다는 조건으로 시작합니다
- 대부분 자동으로 인식합니다
- root 계정으로 로그인
- fdisk를 이용해서 디스크 파시션 생성 (파티션 구분만 합니다. 포맷은 이후에 진행)
- 저는 파티션을 2개로 나눴습니다. 약 5G swap영역, 나머지 모두 ext4영역
- $ fdisk /dev/sda 명령 설정된 파티션을 삭제
root@raspberrypi:/# fdisk /dev/sda
Command (m for help): d <---- 삭제 명령
Partition number (1-4): 1
Command (m for help): d
Selected partition 2
Command (m for help): d
No partition is defined yet! <---- 다 삭제 되었다는 안내
Command (m for help):
- 디스크 파티션을 구분 (용량을 설정함)
위 명령에서 이어 계속 fdisk를 실행하고 있는 상태 입니다
Command (m for help): n <---- 새 파티션 생성 명령
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p <---- p타입으로 명령
Partition number (1-4, default 1): 1
First sector (2048-976773167, default 2048): 2048 <---- 파티션 시작값을 적음
Last sector, +sectors or +size{K,M,G} (2048-976773167, default 976773167): 9767731 <---- 피티션 끝 값을 적음시작 값과 끝 값으로 용량이 정해 집니다
Command (m for help): n <---- 다시한번 새로운 파티션을 만드는 명령
Partition type:
p primary (1 primary, 0 extended, 3 free)
e extended
Select (default p): p <---- p타입으로 명령
Partition number (1-4, default 2): 2
First sector (9767732-976773167, default 9767732): 9767732 <---- 두번째 파티션 시작 위치
Last sector, +sectors or +size{K,M,G} (9767732-976773167, default 976773167): 976773167 <---- 두번째 파티션 끝나는 위치
Command (m for help): w <---- 저장 (fdisk종료됨)
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.root@raspberrypi:/#
- 구분된 파티션을 확인
- root@raspberrypi:/# fdisk /dev/sda
sda sda1 sda2 <--------- 이렇게 3개가 생겼음
sda는 라즈베리파이가 인식한 외장하드
sda1는 2048부터 9767731까지 설정한 부분
sda2는 9767732 부터 976773767까지 설정한 부분 - $fdisk /dev/sda를 실행해서 p명령을 하면 내부적으로 나눠진 파티션 sda1, sda2를 볼수 있습니다
root@raspberrypi:/# fdisk /dev/sda
Command (m for help): p <---- 현재 디스크 정보 출력
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xa4b57300
Device Boot Start End Blocks Id System
/dev/sda1 2048 9767731 4882842 83 Linux <---- 디스크의 첫번째 파티션
/dev/sda2 9767732 976773167 483502718 83 Linux <---- 디스크의 두번째 파티션Command (m for help):
- 파티션 포맷
- swap로 포맷
$ mkswap /dev/sda1root@raspberrypi:/# mkswap /dev/sda1
Setting up swapspace version 1, size = 4882836 KiB
no label, UUID=4fd3b952-e23e-40eb-8ecc-66cea9a23c14
ext4로 포맷
$ mkfs.ext4 /dev/sda2root@raspberrypi:/# mkfs.ext4 /dev/sda2
mke2fs 1.42.5 (29-Jul-2012)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
30220288 inodes, 120875679 blocks
6043783 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
3689 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
root@raspberrypi:/#
rsync를 이용해서 새로 만들어진 파티션에 모든 파일을 옮김
$ mkdir /newfs
$ mount /dev/sda2 /newfs
아래 모든 명령을 실행rsync -av bin /newfs
rsync -av dev /newfs
rsync -av home /newfs
rsync -av lost+found /newfs
rsync -av mnt /newfs
rsync -av opt /newfs
rsync -av root /newfs
rsync -av sbin /newfs
rsync -av srv /newfs
rsync -av tmp /newfs
rsync -av var /newfs
rsync -av boot /newfs
rsync -av etc /newfs
rsync -av lib /newfs
rsync -av media /newfs
rsync -av proc /newfs
rsync -av run /newfs
rsync -av selinux /newfs
rsync -av sys /newfs <---- 해야되는지 확실하게 모름
rsync -av usr /newfs
추가 rsync 설명
-a 는 archive mode (심볼릭 링크, 속성, 퍼미션, 소유권 등 보존)
-v 진행상황을 상세히 보여줌12시간걸림
옮기는데 오류가 많이나는데 왜 나는지 파악은 안되었습니다 그로인해 시간이 오래 걸리는 것으로 보입니다부팅 설정 변경
vi /boot/cmdline.txt
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda2 rootfstype=ext4 elevator=deadline rootwait
처럼 root=/dev/sda2 로 하면 끝
원본
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
swap 설정
vi /etc/fstab에 아래 내용 추가/dev/sda1 swap swap defaults 0 0
모든 설정을 마치고 재부팅
용량 확인을 위해 df -h로 확인
리눅스의 전체적인 환경을 모르고 설정 내용만 따라해서 이게 제대로 된것인지에 대한 판단은 안서있는 상태입니다
이 상태로 계속 사용해 보면서 문제가 있는지는지 파악해 봐야될거 같습니다
- 라즈베리파이 usb 외장하드 root 마운트 참고 : http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=19&MAEULNO=8&no=7525&page=1
- fdisk 사용방법 : https://wiki.kldp.org/wiki.php/fdisk
- rsync 사용방법 : http://dev.jpblog.co.kr/21
'보물창고 > 보물 모음' 카테고리의 다른 글
건전한 댓글을 보면서 소름이 돋았습니다 (0) | 2014.08.25 |
---|---|
티스토리 초대장 드려요~ 3장 입니다 (마감 합니다) (6) | 2014.08.24 |
bitcoin 이용방법 [비트코인 사용방법 결제 방법 이용 후기] (1) | 2014.08.22 |
비트코인 [비트코인 관련 사이트 정리] (0) | 2014.08.20 |
Letter in a bottle(병속에 담긴 편지) 사이트 입니다. 편지 보내기 (2) | 2013.10.21 |
웹사이트 서버시간 확인하는 프로그램 (아이씨 서버) (0) | 2013.09.06 |
블로그 포스팅 게시판 컨텐츠 복사방지 프로그램 입니다 (3) | 2013.07.12 |
태국 호랑이 동물원 호랑이쇼 동영상 15분 (0) | 2013.03.14 |