서버구축,나스구축,서버관리,윈도우서버,리눅스서버,서버관리

Posted
Filed under SERVER-OS/리눅스

HDD를 물리적으로 추가하였는데, Ubuntu에서 자동으로 붙지 않는다.
USB 같은 것은 자동으로 잘 잡아주면서... 이거 왠지 사용자 친화적이지 않다.

그래서, CLI로 추가 작업을 진행해주어야 한다.


1. HDD 잘 인식하는지 확인하기

   - HDD 관련 작업은 fdisk 명령어로 대부분 처리할 수 있다.

$ sudo fdisk -l

Disk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders, total 104857600 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: 0x00089aab

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   100663295    50330624   83  Linux
/dev/sda2       100665342   104855551     2095105    5  Extended
/dev/sda5       100665344   104855551     2095104   82  Linux swap / Solaris

Disk /dev/sdb: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders, total 419430400 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: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table


   - /dev/sda 는 잘 연결되어 있고, /dev/sdb는 물리적으로만 잘 붙어있다는 것을 확인할 수 있다.
   - 친절히 제일 마지막 줄에 파티션 테이블도 안만들어져 있다고 알려주고 있다.


2. 파티션 작업

   - 앞에서 찾아낸 작업해야할 HDD를 지정해서 파티션 작업을 진행하면 된다.

$ sudo fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0xb9110add.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 1
First sector (2048-419430399, default 2048): (enter)
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-419430399, default 419430399): (enter)
Using default value 419430399

Command (m for help): p

Disk /dev/sdb: 214.7 GB, 214748364800 bytes
255 heads, 63 sectors/track, 26108 cylinders, total 419430400 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: 0xb9110add

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048   419430399   209714176   83  Linux

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.


   - 각자의 상황에 따라 위와 같이 출력되지 않거나 다른 옵션을 선택해야할 경우도 있을 것이다.
   - 일단은 필자의 상황으로 설명을 하도록 하겠다. 다양한 옵션에 대한 설명은 생략!


3. 포맷

   - 파티션 작업을 했다고 바로 사용할 수는 없다. 포맷을 하고 사용해야 한다. 파일시스템을 만들어주는 과정이다.

$ sudo mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (4-Feb-2014)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
13107200 inodes, 52428544 blocks
2621427 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
1600 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

Allocating group tables: done                           
Writing inode tables: done                           
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done


   - ext4가 아닌 다른 파일시스템을 사용할 사람은 바꾸면 된다.


4. UUID 확인

   - 앞에서 붙인 HDD를 다루기 위해서는 고유의 값인 UUID를 알아야 한다.

$ ls -l /dev/disk/by-uuid/
합계 0
lrwxrwxrwx 1 root root 10  6월 22 18:22 29f6905f-be40-4321-b7c0-7658f2cb4c3e -> ../../sdb1
lrwxrwxrwx 1 root root 10  6월 22 18:06 822b2062-39d1-4ba3-ab4d-fdc332fec050 -> ../../sda5
lrwxrwxrwx 1 root root 10  6월 22 18:06 94200076-d0b4-4dea-97d4-ee5bedc01bf5 -> ../../sda1



5. mount 등록

   - 방금 만든 파티션은 지금 접근해서 사용할 수는 없다. 파티션을 마운트(mount) 해주어야 사용할 수가 있는 것이다.
   - 하지만, 한 번만 사용할 것이 아니라 매번 부팅할 때마다 마운트 되는 것이 필요하다.

$ sudo mkdir /srv/repository


   - 마운트 하고자 하는 경로의 디렉토리를 미리 만들어 두자.

$ sudo nano /etc/fstab

 

...
UUID=29f6905f-be40-4321-b7c0-7658f2cb4c3e       /srv/repository ext4    errors=remount-ro       0       1


   - 부팅 時 자동으로 마운트할 내용을 위와 같이 적어주면 된다.

$ sudo mount -a


   - 재부팅하지 않아도 마운트 시킬 수 있다.

$ sudo chown hp14:hp14 /srv/repository


   - 권한은 마운트 뒤에 설정해주면 적용된다.


6. 확인

   - 잘 붙었는지 확인해보자.

$ df -h
Filesystem      Size     Used    Avail   Use%    Mounted on
/dev/sda1        48G       11G     35G     24%     /
none               4.0K          0     4.0K      0%      /sys/fs/cgroup
udev               991M     4.0K    991M     1%      /dev
tmpfs              201M     900K    200M    1%      /run
none               5.0M          0     5.0M    0%      /run/lock
none             1002M       76K   1001M   1%      /run/shm
none              100M        40K    100M   1%      /run/user
/dev/sdb1       197G       60M    187G   1%      /srv/repository

2015/03/06 09:20 2015/03/06 09:20