리눅스에서 물리 디스크 수를 얻는 방법?


12

Linux Server의 물리 디스크 수와 각 디스크에 사용되는 공간을 얻기위한 명령 줄 명령은 무엇입니까?

답변:


10

sudo fdisk -l디스크를 비롯하여 파티션을 포함한 디스크에 대한 통계를 표시합니다. 디스크는 일반적으로 /dev/sdx및 파티션 형식이며 /dev/sdxn, 여기서 x 는 문자이고 n 은 숫자입니다 (따라서 sda는 첫 번째 물리 디스크이고 sda1은 해당 디스크의 첫 번째 파티션입니다).

sudo df -h파티션 당 크기 및 사용 통계를 제공합니다. 를 삭제하면 -h사람이 읽을 수있는 블록 단위로 사용법이 표시됩니다.

일반 사용자로 명령을 실행할 때 fdisk에서 출력을 얻지 않고 df에서 부분 출력 만 얻었 기 때문에 sudos를 거기에 넣었습니다.


partedGPT 파티션에 fdisk를 대신 사용해야 합니다. 좋은 대답을 강요하기 위해.
Francisco Tapia

6

OS에서 물리적 드라이브로 볼 수있는 RAID 볼륨 및 파티션이 아닌 하드웨어 만 표시하려는 경우. 당신은 lshw 를 시도 할 수 있습니다

lshw -class disk -short
H/W path        Device      Class       Description
===================================================
/0/1/0.0.0      /dev/cdrom  disk        DVD-RAM GSA-H55N
/0/1/0.1.0      /dev/sda    disk        160GB ST3160021A
/0/2/0.0.0      /dev/sdb    disk        160GB ST3160815AS

아니면 좀 더 장황한

lshw -class disk
  *-cdrom                 
   description: DVD-RAM writer
   product: DVD-RAM GSA-H55N
   vendor: HL-DT-ST
   physical id: 0.0.0
   bus info: scsi@0:0.0.0
   logical name: /dev/cdrom
   logical name: /dev/sr0
   version: 1.04
   serial: [
   capabilities: removable audio cd-r cd-rw dvd dvd-r dvd-ram
   configuration: ansiversion=5 status=nodisc
  *-disk
   description: ATA Disk
   product: ST3160021A
   vendor: Seagate
   physical id: 0.1.0
   bus info: scsi@0:0.1.0
   logical name: /dev/sda
   version: 8.01
   serial: 5JS97CFY
   size: 149GiB (160GB)
   capabilities: partitioned partitioned:dos
   configuration: ansiversion=5 sectorsize=512 signature=000f3a2f
  *-disk
   description: ATA Disk
   product: ST3160815AS
   vendor: Seagate
   physical id: 0.0.0
   bus info: scsi@2:0.0.0
   logical name: /dev/sdb
   version: 3.AA
   serial: 9RX7AK36
   size: 149GiB (160GB)
   capabilities: partitioned partitioned:dos
   configuration: ansiversion=5 sectorsize=512 signature=000b6d91

3

최근 리눅스 설치에서 가장 쉬운 방법 (최소한 파싱 노력)은

$ lsblk -S

다음과 같이 출력됩니다.

tremendous:~# lsblk -S
NAME HCTL       TYPE VENDOR   MODEL             REV TRAN
sda  0:0:0:0    disk ATA      WDC WD5000AUDX-6 01.0 sata
sdb  1:0:0:0    disk ATA      WDC WD5000AUDX-6 01.0 sata
tremendous:~# 

-Sdebian wheezy / sid 또는 Ubuntu 12.10에서 유효한 옵션이 아닙니다. 그러나 이것이 없으면 lsblk멋진 숲과 같은 출력을 표시합니다.
dezso

2

이것에 대한 간단한 대답이있을 것이라고 생각하지만 실제로는 "물리 디스크"의 의미에 따라 다릅니다. 예를 들어 iSCSI 볼륨 및 RAID 장치는 물리적 디스크로 나타나지만이를 검사하기 위해 사용하는 도구는 다릅니다.

서버의 마더 보드에서 호스트 컨트롤러에 직접 연결된 일반 SATA 또는 SCSI 드라이브를 의미하는 경우, / dev / sdN에있는 능동적으로 사용되는 장치를 찾고 있으므로 dmesg를 통해 grep 할 수 있습니다 (dmesg | grep sd) 또는 / dev / disk / by-id를 찾거나 다시 / proc / diskstats를 볼 수 있습니다.

존재하는 장치에 대한 / dev / 항목을 식별하면 적절한 도구를 사용하여 여유 공간을 확인할 수 있습니다. 이는 다시 파티션 된 방법, lvm 사용 여부 등과 같은 다른 정보에 따라 다릅니다.


한 가지 다른 점 : 내 대답은 디스크를 분할하거나 lvm 레이아웃을 수정하거나 파일 시스템을 작성 / 수정하려고한다고 가정했습니다. 이미 할당 된 디스크에서 사용 가능한 여유 공간을 알고 싶다면 "df -h"
sapeurfaire

실제로이 질문은 stackoverflow.com/questions/11744730/…의해 동기가 부여됩니다 . 서버 시스템에 몇 개의 개별 디스크 시스템이 있는지 실제로 알고 싶습니다. (Tomas Answer).
Arpssss

몇 개나 사용할 수 있습니까? 다시 말해, 다른 디스크를 넣을 장소를 찾고 있습니까, 아니면 이미 존재한다고 생각되는 디스크를 찾으려고합니까?
sapeurfaire

이미 있다고 생각되는 디스크를 찾으려고합니다.
Arpssss

2

배포판 (이 경우 Centos 7)에 따라 lsblk -d3 개의 물리 디스크가 표시됩니다.

NAME MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0   11:0    1  1024M  0 rom  
sr1   11:1    1  1024M  0 rom  
sdf    8:80   0 372.6G  0 disk 
sde    8:64   0 372.6G  0 disk 
sdg    8:96   0   1.8T  0 disk 

iostat비슷한 결과를 보여줍니다 ( dm장치가 일부이므로 장치를 무시하십시오 LVM)

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sdf               1.85        41.74        53.80   68524791   88335482
sde               0.00         0.01         0.00      20219          0
dm-0              7.75        40.17        52.24   65945186   85767784
dm-1              0.31         0.94         1.56    1543416    2567312
sdg               0.86         1.89       171.04    3096240  280813864

0

시스템의 실제 디스크 만 알고 싶다면

lsblk | grep -e ^ NAME -e 디스크

다음과 같이 출력됩니다.

이름 MAJ : MIN RM 크기 RO 유형 마운트 포인트

sda 8 : 0 0 40G 0 디스크

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.