성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
[정성태] Modules 창(Ctrl+Shift+U)을 띄워서, 해당 Op...
[정성태] 만드실 수 있습니다. 단지, Unity 엔진 내의 스크립트와 W...
[공진영] 안녕하세요 좋은글 감사합니다. 현재 제가 wpf로 관제 모...
[정성태] The Windows Registry Adventure #1: ...
[정성태] systemd for Developers I ; https:/...
[정성태] 엄밀히 object 타입의 인스턴스가 다른 타입으로 형변환 가능...
[정성태] 아래의 글에서 나오는 "Windows Application Pa...
[정성태] The history of calling conventions,...
[정성태] Secure and Deploy .NET Windows Form...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <h1 style='font-family: Malgun Gothic, Consolas; font-size: 20pt; color: #006699; text-align: center; font-weight: bold'>우분투 설치 후 MBR 디스크 드라이브 여유 공간이 인식되지 않은 경우 - Logical Volume Management</h1> <p> <a target='tab' href='https://www.sysnet.pe.kr/0/0/523'>Ubuntu 20.04.2 버전의 서버를 설치</a>했더니 Ubuntu 운영체제가 설치된 sda 드라이브의 여유 공간이 터무니없이 적게 나옵니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > $ <span style='color: blue; font-weight: bold'>df -h</span> Filesystem Size Used Avail Use% Mounted on udev 12G 0 12G 0% /dev tmpfs 2.4G 1.5M 2.4G 1% /run <span style='color: blue; font-weight: bold'>/dev/mapper/ubuntu--vg-ubuntu--lv 196G 11G 176G 6% /</span> tmpfs 12G 0 12G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 12G 0 12G 0% /sys/fs/cgroup <span style='color: blue; font-weight: bold'>/dev/sdb 1.8T 77M 1.7T 1% /datadisk</span> <span style='color: blue; font-weight: bold'>/dev/sda2 976M 105M 805M 12% /boot</span> /dev/loop0 70M 70M 0 100% /snap/lxd/19188 /dev/loop1 56M 56M 0 100% /snap/core18/1944 /dev/loop2 32M 32M 0 100% /snap/snapd/10707 tmpfs 2.4G 0 2.4G 0% /run/user/1000 </pre> <br /> sda 디스크가 원래 1.4TB 용량인데 그 부분이 없는 것입니다. 반면 sdb 디스크의 경우 정상적으로 1.8TB가 잡혀 있고, 그다음 크게 잡힌 영역이 /dev/mapper/ubuntu--vg-ubuntu--lv인데 200GB 정도에 불과합니다. 즉, 1.2TB에 해당하는 공간이 안 보이는 것입니다.<br /> <br /> 그런데, cfdisk 명령어로 sda의 공간이 분명하게 1.4TB가 있음을 확인할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > $ <span style='color: blue; font-weight: bold'>cfdisk</span> Disk: /dev/sda Size: 1.37 TiB, 1500301910016 bytes, 2930277168 sectors Label: gpt, identifier: D39CD9F7-5BFF-4045-B76B-88E7E376A3CB Device Start End Sectors Size Type >> /dev/sda1 2048 4095 2048 1M BIOS boot /dev/sda2 4096 2101247 2097152 1G Linux filesystem <span style='color: blue; font-weight: bold'> /dev/sda3 2101248 2930274303 2928173056 1.4T Linux filesystem</span> Free space 2930274304 2930277134 2831 1.4M </pre> <br /> 이에 대한 원인은 lsblk 명령어가 설명해 주는데요,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > $ <span style='color: blue; font-weight: bold'>lsblk</span> NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 69.9M 1 loop /snap/lxd/19188 loop1 7:1 0 55.4M 1 loop /snap/core18/1944 loop2 7:2 0 31.1M 1 loop /snap/snapd/10707 sda 8:0 0 1.4T 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 1G 0 part /boot <span style='color: blue; font-weight: bold'>└─sda3 8:3 0 1.4T 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 200G 0 lvm /</span> sdb 8:16 0 1.8T 0 disk /datadisk sr0 11:0 1 1024M 0 rom </pre> <br /> (개인적인 추측으로) MBR 파티션이기 때문에 파티션을 4개 이상 나눌 수 없으므로 이에 대한 배려를 하는 차원에서 lvm(Logical Volume Management)로 처리를 해버린 듯합니다. (윈도우 운영체제와 비교하면, 파티션을 좀 더 생성할 수 있도록 확장 파티션 유형으로 구성하고 그중에서 "ubuntu--vg-ubuntu--lv" 파티션으로 200GB를 할당해 놓은 것입니다.)<br /> <br /> sda3 구역이 이미 LVM으로 초기화되었기 때문에 이것을 다시 ext4 파티션으로 포맷할 수도 없고 마운팅도 안 됩니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > $ <span style='color: blue; font-weight: bold'>sudo mkfs.ext4 /dev/sda3</span> mke2fs 1.45.5 (07-Jan-2020) /dev/sda3 contains a LVM2_member file system Proceed anyway? (y,N) y /dev/sda3 is apparently in use by the system; will not make a filesystem here! $ <span style='color: blue; font-weight: bold'>sudo mount /dev/sda3 /extdisk</span> mount: /extdisk: unknown filesystem type 'LVM2_member'. </pre> <br /> 아마도 lvm을 제거해야 할 것 같은데, 그럼 "ubuntu--vg-ubuntu--lv" 영역도 초기화될 것이므로 (해당 파티션이 '/' 루트 디렉터리와 마운팅되어 있어) 사실상 운영체제를 다시 설치해야 하는 것과 마찬가지로 보입니다. 어쩔 수 없이, 다음의 글에서 설명하는 방법을 따라 그냥 lvm 내에 파티션을 생성하는 식으로 처리해야겠군요. ^^<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > LVM 기반 Ubuntu Disk 확장 ; <a target='tab' href='https://youngmind.tistory.com/entry/LVM-%EA%B8%B0%EB%B0%98-Ubuntu-Disk-%ED%99%95%EC%9E%A5'>https://youngmind.tistory.com/entry/LVM-%EA%B8%B0%EB%B0%98-Ubuntu-Disk-%ED%99%95%EC%9E%A5</a> How to Manage and Use LVM (Logical Volume Management) in Ubuntu ; <a target='tab' href='https://www.howtogeek.com/howto/40702/how-to-manage-and-use-lvm-logical-volume-management-in-ubuntu/'>https://www.howtogeek.com/howto/40702/how-to-manage-and-use-lvm-logical-volume-management-in-ubuntu/</a> </pre> <br /> <hr style='width: 50%' /><br /> <br /> 그나저나, LVM이 할당한 "ubuntu--vg-ubuntu--lv" 파티션의 영역이 200GB면 1.4TB 크기에 비해 다소 빈약해 보입니다. 해당 파티션이 나름 "/" 루트에 매핑되어 있기 때문에,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > # <span style='color: blue; font-weight: bold'>df</span> Filesystem 1K-blocks Used Available Use% Mounted on udev 12265428 0 12265428 0% /dev tmpfs 2461968 1488 2460480 1% /run <span style='color: blue; font-weight: bold'>/dev/mapper/ubuntu--vg-ubuntu--lv 205375464 10737880 184135440 6% /</span> tmpfs 12309828 0 12309828 0% /dev/shm tmpfs 5120 0 5120 0% /run/lock tmpfs 12309828 0 12309828 0% /sys/fs/cgroup /dev/sdb 1921803544 77852 1824033580 1% /datadisk /dev/sda2 999320 107032 823476 12% /boot /dev/loop0 71680 71680 0 100% /snap/lxd/19188 /dev/loop1 56832 56832 0 100% /snap/core18/1944 /dev/loop2 31872 31872 0 100% /snap/snapd/10707 tmpfs 2461964 0 2461964 0% /run/user/1000 </pre> <br /> 좀 더 용량을 추가해보려고 하는데요, 대략 300GB를 다음과 같이 lvextend 명령어로 추가할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > # <span style='color: blue; font-weight: bold'>lvextend -L+300G /dev/mapper/ubuntu--vg-ubuntu--lv</span> Size of logical volume ubuntu-vg/ubuntu-lv changed from 200.00 GiB (51200 extents) to 500.00 GiB (128000 extents). Logical volume ubuntu-vg/ubuntu-lv successfully resized. # <span style='color: blue; font-weight: bold'>df</span> Filesystem 1K-blocks Used Available Use% Mounted on ...[생략]... /dev/mapper/ubuntu--vg-ubuntu--lv 205375464 10737884 184135436 6% / ...[생략]... </pre> <br /> 그런데 df로 확인했는데도 여전히 용량 변화가 없습니다. ^^ 찾아보면 resize2fs로 다시 한번 파티션을 조정해야 한다고.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > # <span style='color: blue; font-weight: bold'>resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv</span> resize2fs 1.45.5 (07-Jan-2020) Filesystem at /dev/mapper/ubuntu--vg-ubuntu--lv is mounted on /; on-line resizing required old_desc_blocks = 25, new_desc_blocks = 63 The filesystem on /dev/mapper/ubuntu--vg-ubuntu--lv is now 131072000 (4k) blocks long. # <span style='color: blue; font-weight: bold'>df</span> Filesystem 1K-blocks Used Available Use% Mounted on udev 12265428 0 12265428 0% /dev tmpfs 2461968 1488 2460480 1% /run <span style='color: blue; font-weight: bold'>/dev/mapper/ubuntu--vg-ubuntu--lv 515010816 10747436 481157664 3% /</span> tmpfs 12309828 0 12309828 0% /dev/shm tmpfs 5120 0 5120 0% /run/lock tmpfs 12309828 0 12309828 0% /sys/fs/cgroup /dev/sdb 1921803544 77852 1824033580 1% /datadisk /dev/sda2 999320 107032 823476 12% /boot /dev/loop0 71680 71680 0 100% /snap/lxd/19188 /dev/loop1 56832 56832 0 100% /snap/core18/1944 /dev/loop2 31872 31872 0 100% /snap/snapd/10707 tmpfs 2461964 0 2461964 0% /run/user/1000 </pre> <br /> 자, 그래서 다시 lsblk로 확인하면 "/" 루트 디렉터리의 용량이 500GB로 늘어났습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > # <span style='color: blue; font-weight: bold'>lsblk</span> NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 69.9M 1 loop /snap/lxd/19188 loop1 7:1 0 55.4M 1 loop /snap/core18/1944 loop2 7:2 0 31.1M 1 loop /snap/snapd/10707 sda 8:0 0 1.4T 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 1.4T 0 part └─<span style='color: blue; font-weight: bold'>ubuntu--vg-ubuntu--lv 253:0 0 500G 0 lvm /</span> sdb 8:16 0 1.8T 0 disk /datadisk sr0 11:0 1 1024M 0 rom </pre> <br /> <hr style='width: 50%' /><br /> <br /> 1.4TB 중 이제 900GB 정도가 남았는데요. 이것을 파티션으로 정의하기 위해 우선 LVM의 Volume group 이름을 알아야 합니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > # <span style='color: blue; font-weight: bold'>vgdisplay</span> --- Volume group --- <span style='color: blue; font-weight: bold'>VG Name ubuntu-vg</span> System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 1 Act PV 1 VG Size 1.36 TiB PE Size 4.00 MiB Total PE 357442 Alloc PE / Size 128000 / 500.00 GiB <span style='color: blue; font-weight: bold'>Free PE / Size 229442 / <896.26 GiB</span> VG UUID 6wIlpV-eCuS-0fF4-Qwa6-XDLm-znyS-xMVzpX </pre> <br /> 그럼, 해당 볼륨 그룹 이름으로 lvcreate 명령어를 사용해 새롭게 파티션을 생성할 수 있습니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > # <span style='color: blue; font-weight: bold'>lvcreate -L 896G -n lvsda3data ubuntu-vg</span> WARNING: atari signature detected on /dev/ubuntu-vg/lvsda3data at offset 478. Wipe it? [y/n]: y Wiping atari signature on /dev/ubuntu-vg/lvsda3data. Logical volume "lvsda3data" created. # <span style='color: blue; font-weight: bold'>lsblk</span> NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop0 7:0 0 69.9M 1 loop /snap/lxd/19188 loop1 7:1 0 55.4M 1 loop /snap/core18/1944 loop2 7:2 0 31.1M 1 loop /snap/snapd/10707 sda 8:0 0 1.4T 0 disk ├─sda1 8:1 0 1M 0 part ├─sda2 8:2 0 1G 0 part /boot └─sda3 8:3 0 1.4T 0 part ├─ubuntu--vg-ubuntu--lv 253:0 0 500G 0 lvm / └─<span style='color: blue; font-weight: bold'>ubuntu--vg-lvsda3data 253:1 0 896G 0 lvm</span> sdb 8:16 0 1.8T 0 disk /datadisk sr0 11:0 1 1024M 0 rom </pre> <br /> 당연히 이렇게 확보한 파티션을 포맷해야 하고,<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > # <span style='color: blue; font-weight: bold'>mkfs -t ext4 /dev/ubuntu-vg/lvsda3data</span> mke2fs 1.45.5 (07-Jan-2020) Creating filesystem with 234881024 4k blocks and 58720256 inodes Filesystem UUID: 58bf7379-6aa2-4299-be3d-b3020ec1c9ee Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 102400000, 214990848 Allocating group tables: done Writing inode tables: done Creating journal (262144 blocks): done Writing superblocks and filesystem accounting information: done </pre> <br /> 새로운 디렉터리를 만든 후 그쪽으로 마운트 시켜줍니다.<br /> <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > # <span style='color: blue; font-weight: bold'>mkdir /extdisk</span> # <span style='color: blue; font-weight: bold'>mount -t ext4 /dev/ubuntu-vg/lvsda3data /extdisk</span> # <span style='color: blue; font-weight: bold'>df -h</span> Filesystem Size Used Avail Use% Mounted on udev 12G 0 12G 0% /dev tmpfs 2.4G 1.5M 2.4G 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv 492G 11G 459G 3% / tmpfs 12G 0 12G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 12G 0 12G 0% /sys/fs/cgroup /dev/sdb 1.8T 77M 1.7T 1% /datadisk /dev/sda2 976M 105M 805M 12% /boot /dev/loop0 70M 70M 0 100% /snap/lxd/19188 /dev/loop1 56M 56M 0 100% /snap/core18/1944 /dev/loop2 32M 32M 0 100% /snap/snapd/10707 tmpfs 2.4G 0 2.4G 0% /run/user/1000 <span style='color: blue; font-weight: bold'>/dev/mapper/ubuntu--vg-lvsda3data 881G 77M 837G 1% /extdisk</span> </pre> <br /> <hr style='width: 50%' /><br /> <br /> 참고로, 물리적 디스크는 다음과 같은 식으로 표기됩니다. <br /> <pre style='margin: 10px 0px 10px 10px; padding: 10px 0px 10px 10px; background-color: #fbedbb; overflow: auto; font-family: Consolas, Verdana;' > [디스크 장치 표기] IDE의 경우, Primary master/slave, Secondary master/slave 각각에 대해 /dev/hda, /dev/hdb, /dev/hdc, /dev/hdd로 매핑 SCSI, SATA의 경우, 순서대로 /dev/sda, /dev/sdb,... 로 매핑 [파티션 표기] 각각의 장치별로 파티션 순서대로 표기, 예를 들어 sda에 2개의 파티션을 생성하면 sda1, sda2 방식으로 매핑 [MBR 방식의 파티션 분할 방식] 주 파티션은 최대 4개 허용(sda1, sda2, sda3, sda4) 만약 4개 이상의 파티션을 만들려면 3개의 주 파티션(sda1, sda2, sda3)을 만들고, 남은 하나는 확장 파티션(sda4)으로 내부에 12개(sda5 ~ sda16)까지 가능 </pre> <br /> </p><br /> <br /><hr /><span style='color: Maroon'>[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
5026
(왼쪽의 숫자를 입력해야 합니다.)