Làm thế nào để có được số lượng đĩa vật lý trong Linux?


12

Lệnh dòng lệnh để lấy số lượng đĩa vật lý trong Linux Server là bao nhiêu và dung lượng được sử dụng trên mỗi ổ đĩa là bao nhiêu?

Câu trả lời:


10

sudo fdisk -lsẽ liệt kê các đĩa của bạn và một loạt các số liệu thống kê về chúng, bao gồm các phân vùng. Các đĩa thường ở dạng /dev/sdxvà phân vùng /dev/sdxn, trong đó x là một chữ cái và n là một số (vì vậy sda là đĩa vật lý đầu tiên và sda1 là phân vùng đầu tiên trên đĩa đó).

sudo df -hcung cấp cho bạn kích thước và số liệu thống kê sử dụng trên mỗi phân vùng. Thả -hvà bạn có thể sử dụng theo khối, với nó là con người có thể đọc được.

Tôi đặt sudos ở đó vì tôi không nhận được đầu ra từ fdisk và chỉ xuất một phần từ df khi tôi chạy các lệnh như một người dùng thông thường, tôi cho rằng vì các lệnh đọc từ đâu đó vượt quá giới hạn cho người không quản trị.


bạn nên thêm partedđược sử dụng thay vì fdisk cho các phân vùng GPT. chỉ để thực thi câu trả lời tốt của bạn.
Francisco Tapia

6

Nếu bạn thực sự muốn chỉ hiển thị phần cứng, chứ không phải khối lượng và phân vùng RAID mà HĐH có thể xem là ổ đĩa vật lý. Bạn có thể muốn thử 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

Hoặc một chút dài dòng

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

Tôi nghĩ rằng cách dễ nhất (ít nhất là liên quan đến nỗ lực phân tích cú pháp) trên bản cài đặt Linux gần đây sẽ là

$ lsblk -S

cái nào tạo ra cái gì đó như thế này:

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:~# 

-Skhông phải là một tùy chọn hợp lệ trên debian wheezy / sid hoặc Ubuntu 12.10. Không có nó, tuy nhiên, lsblkhiển thị một đầu ra giống như rừng.
dezso

2

Bạn sẽ nghĩ rằng có một câu trả lời đơn giản cho vấn đề này, nhưng nó thực sự phụ thuộc vào ý nghĩa của "đĩa vật lý". Các khối iSCSI và các thiết bị RAID (ví dụ) xuất hiện dưới dạng đĩa vật lý, nhưng các công cụ mà người ta sử dụng để kiểm tra các khác nhau này.

Nếu bạn chỉ có nghĩa là ổ đĩa SATA hoặc SCSI đơn giản được gắn trực tiếp vào bộ điều khiển máy chủ trên bo mạch chủ của máy chủ, thì bạn đang tìm kiếm các thiết bị được sử dụng tích cực tại / dev / sdN, vì vậy bạn có thể grep qua dmesg của bạn cho chúng (dmesg | grep sd) hoặc bạn có thể tìm trong / dev / đĩa / by-id hoặc một lần nữa bạn có thể tìm trong / Proc / đĩa.

Khi bạn đã xác định / dev / entry cho các thiết bị có mặt, bạn có thể sử dụng công cụ thích hợp để kiểm tra dung lượng trống. Điều này một lần nữa phụ thuộc vào thông tin khác, chẳng hạn như cách chúng được phân vùng, liệu chúng có sử dụng lvm hay không, v.v.


Một điểm khác: câu trả lời của tôi là giả sử rằng bạn có thể muốn phân vùng đĩa, sửa đổi bố cục lvm hoặc tạo / sửa đổi hệ thống tệp. Nếu bạn chỉ muốn biết có bao nhiêu dung lượng trống trên đĩa đã được phân bổ, hãy chạy lệnh "df -h"
sapeurfaire

Trên thực tế, câu hỏi này được thúc đẩy bởi stackoverflow.com/questions/11744730/ . Tôi muốn biết thực sự, có bao nhiêu hệ thống đĩa riêng biệt trong máy chủ của chúng tôi. (Trả lời).
Arpssss

Có bao nhiêu cái có sẵn, hoặc bao nhiêu cái đang được sử dụng? Nói cách khác, bạn đang tìm một nơi để đặt một đĩa khác, hoặc bạn đang cố gắng tìm một đĩa mà bạn nghĩ là đã có?
sapeurfaire

Tôi đang cố gắng tìm một đĩa mà tôi nghĩ là đã có.
Arpssss

2

Tùy thuộc vào bản phân phối của bạn (trong trường hợp này là Centos 7) lsblk -dsẽ hiển thị cho bạn (ví dụ) ba đĩa vật lý.

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 

iostatcũng sẽ hiển thị kết quả tương tự (bỏ qua các dmthiết bị vì chúng là một phần của 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

Nếu bạn chỉ muốn biết Đĩa vật lý trong hệ thống.

lsblk | grep -e ^ TÊN -e đĩa

mà xuất ra một cái gì đó như:

TÊN MAJ: MIN RM KÍCH THƯỚC RO LOẠI MOUNTPOINT

sda 8: 0 0 40G 0 đĩa

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.