Qual unidade de disco rígido é qual?

38

Quero saber qual unidade de disco rígido corresponde a qual caminho do dispositivo. É trivial combinar as estatísticas do disco rígido (marca, tamanho) com o caminho do desenvolvedor, mas quero mais. Quero saber qual unidade é qual dentro do meu gabinete. Qual é uma boa maneira de obter essas informações?

Restrições

  • Eu sou preguiçoso. Não quero desmembrar meu servidor para remover todas as unidades e adicioná-las uma a uma.
  • Reinicializações são aceitáveis.
  • As unidades são inconvenientemente compactadas juntas no gabinete. As informações da etiqueta estão ocultas.
  • O caso pode ser aberto. A maioria dos discos é SATA, portanto, teoricamente hot swappable. Desconectar os cabos é um jogo justo.

Bônus

Premiarei a resposta para a melhor / mais fácil resposta gui ou cli e darei uma recompensa à próxima melhor resposta do outro tipo. I preferem uma resposta cli, mas entendo que um monte de outras pessoas irão apreciar um bom método de ponto-e-clique.

djeikyb
fonte

Respostas:

26

hdparm -i /dev/sdX fornece o número de série, que é a maneira mais simples de distinguir discos rígidos da mesma marca e tamanho.

O número de série normalmente é impresso em uma etiqueta no disco, portanto, embora você precise abrir o estojo para encontrá-lo, não é necessário desmontar o computador.

Exemplo:

$ sudo hdparm -i /dev/sdb | grep -i serial
 Model=SAMSUNG HD253GJ, FwRev=1AJ10001, SerialNo=S24JJ90Z505435

Se você quiser obter mais informações, lshw -c storage -c diskfornece a saída mais legível. São praticamente os mesmos dados do Utilitário de Disco, apenas no formato de linha de comando.

Aqui está um exemplo anotado da configuração mais complexa à qual tenho acesso, com quatro controladores de disco, sete discos rígidos, um DVD ROM e um disco USB.

O resultado foi reduzido ao tamanho para se concentrar nas partes interessantes:

[server ~]$ sudo lshw -c storage -c disk
  *-storage   
  # a 2-port PCI-E SATA controller
       description: SATA controller
       product: 88SE9123 PCIe SATA 6.0 Gb/s controller
       vendor: Marvell Technology Group Ltd.
     *-disk
          description: ATA Disk
          product: WDC WD15EADS-00P
          vendor: Western Digital
  # 'physical id' corresponds to port number, first port is 0
          physical id: 0  
          logical name: /dev/sdg
          serial: WD-WMAVU0849124
          size: 1397GiB (1500GB)
     *-cdrom
          description: DVD reader
          product: BD-ROM BR-5100S
          vendor: Optiarc
          physical id: 1
          logical name: /dev/cdrom1
          logical name: /dev/dvd1
          logical name: /dev/scd0
          serial: [Optiarc BD-ROM BR-5100S 1.02 May20 ,2008
  *-storage
  # mobo controller for eSATA ports. Not used.
       description: SATA controller
       product: JMB362/JMB363 Serial ATA Controller
       vendor: JMicron Technology Corp.
  *-ide
  # mobo controller for IDE. Not used.
       description: IDE interface
       product: JMB362/JMB363 Serial ATA Controller
       vendor: JMicron Technology Corp.
  *-storage
  # the primary SATA controller, six ports
       description: SATA controller
       product: 82801JI (ICH10 Family) SATA AHCI Controller
       vendor: Intel Corporation
  # 'disk:0' means port 0, same as physical id
     *-disk:0
          description: ATA Disk
          product: WDC WD1600BEVS-0
          vendor: Western Digital
          physical id: 0
          logical name: /dev/sda
          serial: WD-WXEY08T58317
          size: 149GiB (160GB)
     *-disk:1
          description: ATA Disk
          product: ST32000542AS
          vendor: Seagate
          physical id: 1
          logical name: /dev/sdb
          serial: 5XW1RTDS
          size: 1863GiB (2TB)
     *-disk:2
          description: ATA Disk
          product: ST32000542AS
          vendor: Seagate
          physical id: 2
          logical name: /dev/sdc
          serial: 5XW23W0W
          size: 1863GiB (2TB)
     [...]
  *-scsi
  # the USB disk, as evidenced by the bus info 
       physical id: 1
       bus info: usb@1:1
       capabilities: emulated scsi-host
     *-disk
          description: SCSI Disk
          product: 10EAVS External
          vendor: WD
          physical id: 0.0.0
          logical name: /dev/sdh
          serial: WD-WCAU46029507
          size: 931GiB (1TB)

Eu acho que o Disk Utility é mais rápido de ler; a versão da linha de comando tem a vantagem de ser utilizável em ssh e em scripts.

E ainda acho que o número de série é a solução mais confiável :)

O "ID físico" de cada unidade corresponde ao local em que está conectado à placa-mãe. e começa com 0. portanto, um ID físico 2 significaria que a unidade está conectada à terceira porta sata do seu mobo ou outro dispositivo aplicável.

jg-faustus
fonte
Interessante. É bom ter a etiqueta / série, mas, no meu cenário, os discos estão amontoados em um suporte que impede a exibição da etiqueta. O melhor que posso fazer é rastrear os cabos. Não vi nada hdparm -iútil imediatamente, mas terei que ler a página de manual para ver se não consigo obter mais informações.
2541111
Haha, o serial é realmente mais confiável, mas isso fornece o mapa útil de reconhecimento de dispositivo linux -> conexões físicas ... através de uma interface de linha de comando. Obrigado!
precisa saber é o seguinte
34

Utilitário de Disco

Este é um aplicativo GUI que fornecerá informações sobre o modelo, tamanho, número de série e caminho do dispositivo de suas unidades. Ele é instalado por padrão no Ubuntu Desktop. Você pode pressionar o botão Ubuntu Dash e pesquisar "utilitário de disco" para encontrá-lo ou executá-lo no terminal com palimpsest.

Utilitário de Disco

Allan
fonte
4
e você só precisa usar isso é uma mão e dedo o que eu chamo de conservação de energia "salvar o utilitário de disco uso planeta"
Allan
4
Eu acho que essa será a resposta, com "Localização: porta X do adaptador de host SATA" sendo o recurso matador. Eu adoraria ver algumas respostas CLI também. Octavian & Fausto tem soluções interessantes ao longo destas linhas
djeikyb
18

Abra o estojo e ouça as unidades com uma cópia enrolada do "The Linux Journal". Em seguida, execute um dd em cada unidade para gerar algum ruído no disco.

Nota: isso não funcionará em SSDs!

jjg
fonte
2
Estetoscópio ftw
Jeremy
1
Ame esta resposta. Eu prefiro a saída técnica de palimpseste lshw, mas este é um terço próximo.
precisa saber é o seguinte
SSDs não geram ruído. Além disso, a solução não funcionará se você tiver mais de uma unidade e houver outros processos que leem de duas unidades simultaneamente.
Sergiy Kolodyazhnyy 3/02
Além disso, este não vai ajudar se você estiver trabalhando com um servidor remoto via sshou RDP
Sergiy Kolodyazhnyy
2
O que poderia ser esse "whooshing"?
Jjg 03/02
10

Você pode obter essas informações em / sys (ou / dev, para esse assunto):

anthony@Zia:~$ ls -l /sys/block/ | grep sd.
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sda -> ../devices/pci0000:00/0000:00:1f.2/host2/target2:0:0/2:0:0:0/block/sda
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sdb -> ../devices/pci0000:00/0000:00:1f.2/host3/target3:0:0/3:0:0:0/block/sdb
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sdc -> ../devices/pci0000:00/0000:00:1f.2/host4/target4:0:0/4:0:0:0/block/sdc
lrwxrwxrwx 1 root root 0 Feb 25 13:30 sdd -> ../devices/pci0000:00/0000:00:1f.2/host5/target5:0:0/5:0:0:0/block/sdd

Assim, você pode ver meus quatro discos nas portas (hosts / destinos) 2 a 5.

Você também pode fazer o ls -l /dev/disk/by-pathe vê-lo lá.

derobert
fonte
2
+1 para acessar as informações básicas de / sys e / dev. Ainda gosto mais das informações agregadas das soluções aceitas, mas saber como obter e ler as informações básicas é inestimável. Esta é uma parte que falta da resposta maior do que @ jg-faustus e @Allan deu
djeikyb
De fato, se você executar strace -e trace=open lsblke strace -e trace=open lsblk, esses são exatamente os dados que estão sendo lidos. Esta resposta merece mais votos.
Sergiy Kolodyazhnyy 3/02
8

Eu recomendo hwinfo --disk.

Isso listará todas as informações relevantes para seus discos rígidos. Se você precisar de mais informações sobre suas partições, poderá usar hwinfo --partition.

Você pode combinar os itens acima com a --shortopção de obter uma representação mais curta.

Otaviano A. Damiean
fonte
Isso parece muito promissor, especialmente as linhas SysFS e Arquivos de dispositivos, mas não sei como traduzi-las para o inglês.
25411
5

Hardinfo é uma interface gráfica do usuário que permitirá reunir informações do sistema, que podem incluir, entre outros, os dispositivos de armazenamento fisicamente conectados e os sistemas de arquivos, conforme mostrado nas próximas capturas de tela:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Site da Hardinfo: http://hardinfo.berlios.de/HomePage

Geppettvs D'Constanzo
fonte
4
  • cat /proc/partitions mostrar partições / discos detectados pelo kernel, você pode descobrir pelo tamanho

insira a descrição da imagem aqui

  • smartctl -i /dev/sda

insira a descrição da imagem aqui

jato
fonte
3

Maneira mais rápida e fácil

1. Abra o Gnome-Terminal

2. Digite sudo blkid

3. Digite a senha

4. Ele informa qual unidade é qual e em um formato de fácil leitura

era878
fonte
2

Se você quer um caminho sem poder ver os rótulos, o que, até onde eu sei, nenhuma das outras respostas o faz. Eu desmontaria todas as unidades (se possível, talvez seja necessário inicializar a partir de um CD ao vivo para fazer isso). Todas as unidades agora devem girar para baixo. Você pode montar progressivamente cada um deles e ouvir ou sentir qual deles gira. Dessa forma, você só precisa tirar a tampa do estojo, mas não precisa ver as etiquetas, o que é bom se todas estiverem presas.

Simples

Slipstream
fonte
1

Questão central:

Quero saber qual unidade de disco rígido corresponde a qual caminho do dispositivo.

Abordagens da linha de comando

  1. A abordagem básica e mais prática é através do exame do /dev/sistema de arquivos. Existem vários diretórios nos /dev/disk/quais contêm links simbólicos para os arquivos do dispositivo, e esses diretórios são organizados no UUID, identificação, caminho no /syssistema de arquivos e etiqueta (se o dispositivo / partição tiver um). Por exemplo, conhecendo o UUID da unidade que desejo encontrar, eu poderia fazer algo assim:

    $ find /dev/disk/by-uuid/ -mindepth 1 -printf "%p >>> %l\n"
    /dev/disk/by-uuid/8e344ab1-5eb5-4e20-becd-4147fffd439f >>> ../../sdb6
    /dev/disk/by-uuid/483CDA9D3CDA84FA >>> ../../sdb5
    /dev/disk/by-uuid/32AE5766AE5721A1 >>> ../../sdb4
    /dev/disk/by-uuid/7852-5217 >>> ../../sdb2
    /dev/disk/by-uuid/D668510B6850EC2D >>> ../../sdb1
    /dev/disk/by-uuid/B8E453D4E453940A >>> ../../sdb3
    /dev/disk/by-uuid/86df21bf-d95f-435c-9292-273bdbcba056 >>> ../../sda1
    
  2. O Ubuntu vem por padrão com UDiskso gerenciador de disco. Possui alguns utilitários que podem ser usados. As informações do método nº 1 já foram analisadas para conveniência do usuário. Por exemplo, para simplesmente descobrir qual dispositivo corresponde a qual modelo de disco rígido, poderíamos fazer isso:

    $ udisksctl  status
    MODEL                     REVISION  SERIAL               DEVICE
    --------------------------------------------------------------------------
    Radeon R7                 1.01      A22MD061520000172    sda     
    TOSHIBA MQ01ABF050        AM0P3M    Z4GRCSXAT            sdb     
    

    Informações avançadas podem ser obtidas via udisksctl info -b /dev/sda1para dispositivo específico ou udisksctl dumppara todos os dispositivos. udisksctl monitorpode ser usado para conectar / desconectar as unidades fisicamente.

Em particular, se você deseja combinar o UUID com uma unidade específica, pode filtrar udisksctl infocom grep:

    $ udisksctl info -b /dev/sda1 | grep 'IdUUID:\|Id:'                                                   
    Id:                         by-id-ata-Radeon_R7_A22MD061520000172-part1
    IdUUID:                     86df21bf-d95f-435c-9292-273bdbcba056

Abordagens da GUI:

Usando as informações UDiskslançadas no barramento de comunicação entre processos conhecido como dbus, escrevi um indicador para o Ubuntu com desktop Unity (embora possa ser usado em outros também). Originalmente, ele foi escrito para o Indicador de uso do sistema de arquivos (consulte o link para obter instruções de instalação). Ele permite exibir informações de todas as unidades montadas de maneira conveniente e alguns outros recursos, como clicar na partição / dispositivo e abrir o diretório correspondente no gerenciador de arquivos.

insira a descrição da imagem aqui

Sergiy Kolodyazhnyy
fonte
Há muitas informações boas aqui. Mas o seu conselho do dev / sys fs levanta a questão: "como sei qual disco físico tem uma partição com este uuid". Foi o que eu perguntei em primeiro lugar.
21417 Dreikyb
@djeikyb Essa é realmente uma das coisas que eu estava resolvendo enquanto trabalhava no indicador que mencionei e udisksctlé provavelmente a abordagem mais simples - você pode filtrá-lo com grep para o dispositivo + linhas UUID. Vou editá-lo na minha pergunta. Quanto às soluções personalizadas, é claro que ele pode ser script com perl ou python ou mesmo shell script, onde você o percorre /dev/disk/by-ide combina com links simbólicos /dev/disk/by-uuid.
Sergiy Kolodyazhnyy 3/02
@djeikyb Então, você basicamente quer saber quais conectores são usados ​​por qual drive, certo? e sem conhecer o modelo ou o disco rígido?
Sergiy Kolodyazhnyy 3/02
@ djeikyb eu li isso, e eles se concentram no número de série de cada disco. . .que é o que eu também forneci em udisksctl statusparte.
Sergiy Kolodyazhnyy 3/02
@djeikyb Interessante. O Utilitário de discos padrão,, palimpsetaparentemente, foi renomeado como gnome-disks-utility, mas não possui mais o "Local". Pelo menos não no 16.04 que eu estou executando #
Sergiy Kolodyazhnyy 03/02/19