virtualbox centos usb 리눅스 외장 하드디스크 포맷 방법





virtualbox에 usb 외장 하드 디스크를 인식 시키는 방법과

centos에서 외장 드라이브를 포맷하는 방법을 정리했습니다







host 컴퓨터는 windows입니다

외장하드를 usb로 인식시킨 상태 입니다




host컴퓨터에서 인식한 외장하드를 virtualbox내부 centos에서 인식하도록 설정하는 방법 입니다

virtualbox 메뉴중 '장치" -> "USB 장치" -> "Seagate BUP Slim BK"를 선택합니다

선택을하면 해당 라인에 V 로 체크가 됨을 확인할 수 있습니다

Seagate BUP Slim BK 이 이름은 각 외장하드 드라이브 이름마다 다릅니다




virtualbox에서 인식을 하면 host컴퓨터인 windows에서는 해당 드라이브가 목록에서 사라집니다





지금 부터는 centos내부에서 외장하드를 포맷하는 방법입니다


fdisk -l

리눅스에 마운트 된것을 확인합니다 

외장하드가 /dev/sdb1위치에 NTFS타입으로 있음이 확인됩니다




fdisk /dev/sdb1

fdisk는 디스크 파티션 관리자 입니다

이 명령어로 /dev/sdb1에 마운트된 외징하드의 파티션을 지우려고 합니다




p 를 명령

/dev/sdb1로 마운트된 디스크의 파티션을 확인합니다




m 을 명령

fdisk에서 사용할 수 있는 명령어 모음 입니다




d 를 명령

기존에 있는 파티션을 모두 삭제합니다

저는 1번부터 4번까지 삭제를 진행 했습니다




p 를 명령

파티션을 모두 삭제한 현재 디스크의 파티션을 다시 확인합니다




n 을 명령

p 를 명령

엔터

엔터

새로운 파티션을 생성합니다




w 를 명령

설정한 파티션을 저장하고 나옵니다




mkfs -t ext3 /dev/sdb1

/dev/sdb1에 마운트된 디스크를 ext3형식으로 포맷중입니다

ext3 형식으로 포맷이 완료 되었습니다




mount -t ext3 /dev/sdb1 /mnt 

/mnt 위치로 외장하드를 마운트를합니다






스크립트 전체 백업

[root@localhost dev]# fdisk -l

Disk /dev/sda: 137.4 GB, 137438953472 bytes

255 heads, 63 sectors/track, 16709 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0009c402


Device Boot Start End Blocks Id System

/dev/sda1 * 1 64 512000 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 64 16710 133704704 8e Linux LVM


Disk /dev/mapper/VolGroup-lv_root: 53.7 GB, 53687091200 bytes

255 heads, 63 sectors/track, 6527 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


Disk /dev/mapper/VolGroup-lv_swap: 4227 MB, 4227858432 bytes

255 heads, 63 sectors/track, 514 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


Disk /dev/mapper/VolGroup-lv_home: 79.0 GB, 78995521536 bytes

255 heads, 63 sectors/track, 9603 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00000000


Disk /dev/sdb: 1000.2 GB, 1000204885504 bytes

255 heads, 63 sectors/track, 121601 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x1bd9803b


Device Boot Start End Blocks Id System

/dev/sdb1 * 1 121602 976761559+ 7 HPFS/NTFS

[root@localhost dev]# 

[root@localhost dev]# fdisk /dev/sdb1


WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

switch off the mode (command 'c') and change display units to

sectors (command 'u').


Command (m for help): p


Disk /dev/sdb1: 1000.2 GB, 1000203836928 bytes

255 heads, 63 sectors/track, 121601 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x6e697373


This doesn't look like a partition table

Probably you selected the wrong device.


Device Boot Start End Blocks Id System

/dev/sdb1p1 ? 120528 234814 918008208 4f QNX4.x 3rd part

Partition 1 does not end on cylinder boundary.

/dev/sdb1p2 ? 119381 153271 272218546+ 73 Unknown

Partition 2 does not end on cylinder boundary.

/dev/sdb1p3 ? 113202 147075 272087568 2b Unknown

Partition 3 does not end on cylinder boundary.

/dev/sdb1p4 ? 177064 177067 27487 61 SpeedStor

Partition 4 does not end on cylinder boundary.


Partition table entries are not in disk order


Command (m for help): m

Command action

a toggle a bootable flag

b edit bsd disklabel

c toggle the dos compatibility flag

d delete a partition

l list known partition types

m print this menu

n add a new partition

o create a new empty DOS partition table

p print the partition table

q quit without saving changes

s create a new empty Sun disklabel

t change a partition's system id

u change display/entry units

v verify the partition table

w write table to disk and exit

x extra functionality (experts only)


Command (m for help): d

Partition number (1-4): 1

Warning: partition 1 has empty type


Command (m for help): d 

Partition number (1-4): 2


Command (m for help): d

Partition number (1-4): 3


Command (m for help): d

Selected partition 4


Command (m for help): 4

4: unknown command

Command action

a toggle a bootable flag

b edit bsd disklabel

c toggle the dos compatibility flag

d delete a partition

l list known partition types

m print this menu

n add a new partition

o create a new empty DOS partition table

p print the partition table

q quit without saving changes

s create a new empty Sun disklabel

t change a partition's system id

u change display/entry units

v verify the partition table

w write table to disk and exit

x extra functionality (experts only)


Command (m for help): p


Disk /dev/sdb1: 1000.2 GB, 1000203836928 bytes

255 heads, 63 sectors/track, 121601 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x6e697373


Device Boot Start End Blocks Id System


Command (m for help): 

Command (m for help): 

Command (m for help): n

Command action

e extended

p primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-121601, default 1): 

Using default value 1

Last cylinder, +cylinders or +size{K,M,G} (1-121601, default 121601): 

Using default value 121601


Command (m for help): p


Disk /dev/sdb1: 1000.2 GB, 1000203836928 bytes

255 heads, 63 sectors/track, 121601 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x6e697373


Device Boot Start End Blocks Id System

/dev/sdb1p1 1 121601 976760001 83 Linux


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.


WARNING: Re-reading the partition table failed with error 22: Invalid argument.

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@localhost dev]# 

[root@localhost dev]# mkfs -t ext3 /dev/sdb1

mke2fs 1.41.12 (17-May-2010)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

61054976 inodes, 244190389 blocks

12209519 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=4294967296

7453 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, 214990848


Writing inode tables: done 

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done


This filesystem will be automatically checked every 35 mounts or

180 days, whichever comes first. Use tune2fs -c or -i to override.


bash: fdisl: command not found

[root@localhost dev]# fdisk -l


[root@localhost /]# df -h

Filesystem Size Used Avail Use% Mounted on

/dev/mapper/VolGroup-lv_root

50G 4.2G 43G 10% /

tmpfs 939M 236K 939M 1% /dev/shm

/dev/sda1 477M 59M 393M 13% /boot

/dev/mapper/VolGroup-lv_home

73G 2.4G 67G 4% /home

/dev/sdb1 917G 200M 871G 1% /media/c45c1ad6-9ad7-4313-b84b-24289e99b0d2

[root@localhost /]# umount -t ext3 /dev/sdb1 /mnt

umount: /mnt: not mounted

[root@localhost /]# umount -t ext3 /dev/sdb1 /



신고





Posted by 파란물






rsync를 이용 라즈베리파이에 USB 외장하드 ROOT 마운트 (Raspberry Pi)



  •  라즈베리파이는 SD카드를 저상소로 사용합니다
  •  SD카드 특성상 일정회수 이상 write하면 수명을 다하는데요 서버로 오래 운영하기에는 불안함 느낌이 들어 외장하드를 root로 사용하는 방법을 찾아 봤습니다
  •  리눅스 시스템에 대해 아는게 없어 애를 먹고있는 중에 [횡수] 라즈베리 파이.. HDD로 루트 마운트 성공 글이 있어 참고해서 시도해 봤습니다
  •  위 글을 작성하신분은 시스템을 잘 아는 분이셔서 그런지 간단한 명령어들로 적어주셔서 제가 실제 적용하는데 시간이 좀걸렸습니다
  •  이 블로그에 작성한 내용은 참고한 글에 있는 명령어를 포함하고 제가 추가한 명령을포함해 익숙하지 않은 분들도 도움이 될 수 있도록 정리를 해봤습니다


  • 부팅은 SD카드로하고 저장소는 마운트된 외장하드를 이용하게 됩니다


  • 구성 환경
    • 500G 외장하드 (외부 전원 사용)
    • SD카드 8G
    • 라즈베리파이 B





  1. 라즈베리파이가 USB 외장하드를 인식했다는 조건으로 시작합니다
    1. 대부분 자동으로 인식합니다


  2. root 계정으로 로그인


  3. fdisk를 이용해서 디스크 파시션 생성 (파티션 구분만 합니다. 포맷은 이후에 진행)
    1. 저는 파티션을 2개로 나눴습니다. 약 5G swap영역, 나머지 모두 ext4영역
    2. $ 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): 




  4. 디스크 파티션을 구분 (용량을 설정함)

    위 명령에서 이어 계속 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:/# 




  5. 구분된 파티션을 확인
    1. root@raspberrypi:/# fdisk /dev/sda
      sda   sda1  sda2        <--------- 이렇게 3개가 생겼음
      sda는 라즈베리파이가 인식한 외장하드
      sda1는 2048부터 9767731까지 설정한 부분
      sda2는 9767732 부터 976773767까지 설정한 부분

    2. $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): 




  6. 파티션 포맷 
    1. swap로 포맷
      $ mkswap /dev/sda1 

      root@raspberrypi:/# mkswap /dev/sda1

      Setting up swapspace version 1, size = 4882836 KiB

      no label, UUID=4fd3b952-e23e-40eb-8ecc-66cea9a23c14


    2. ext4로 포맷
      $ mkfs.ext4 /dev/sda2

      root@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:/#




  7. rsync를 이용해서 새로 만들어진 파티션에 모든 파일을 옮김

    1. $ 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

       


    2. 추가 rsync 설명
      -a 는 archive mode (심볼릭 링크, 속성, 퍼미션, 소유권 등 보존)
      -v 진행상황을 상세히 보여줌


  8. 12시간걸림
    옮기는데 오류가 많이나는데 왜 나는지 파악은 안되었습니다 그로인해 시간이 오래 걸리는 것으로 보입니다

  9. 부팅 설정 변경

    1. 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 로 하면 끝 

    2. 원본

      dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait 




  10. swap 설정
    vi /etc/fstab에 아래 내용 추가

    /dev/sda1       swap                    swap    defaults        0 0 




  11. 모든 설정을 마치고 재부팅

  12. 용량 확인을 위해 df -h로 확인




리눅스의 전체적인 환경을 모르고 설정 내용만 따라해서 이게 제대로 된것인지에 대한 판단은 안서있는 상태입니다

이 상태로 계속 사용해 보면서 문제가 있는지는지 파악해 봐야될거 같습니다






참고


신고





Posted by 파란물