Como verificar o conteúdo do dispositivo físico

4

Eu tenho um servidor com 2 discos rígidos. Eu gostaria de saber o que está na segunda unidade. Como eu listaria todo o conteúdo no dispositivo físico?

lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  40G  0 disk 
└─xvda1 202:1    0  40G  0 part /
xvde    202:64   0  40G  0 disk 
└─xvde1 202:65   0  40G  0 part 

Eu corro o código acima. Isso significa que a segunda unidade está vazia e não está em uso?

    
por rumburak 01.05.2014 / 01:48

4 respostas

5

A resposta às suas perguntas é talvez, e sim.

lsblk ocultará dispositivos vazios - no entanto, neste caso, está falando apenas de partições, não dos dados dessas partições. lsblk não é a melhor ferramenta para o trabalho aqui.

Isso, no entanto, nos diz que a partição não está montada - , então sim, ela não está sendo usada atualmente .

Então, há algum dado na partição (e, portanto, na unidade)?

Podemos descobrir isso com o comando df ou "sem disco".

Para visualizar o conteúdo da partição (e porque há apenas uma partição, podemos chamar isso de conteúdo da própria unidade), primeiro precisamos montá-la.

Vamos criar um diretório para isso, como root

# mkdir /mnt/xvde1

E depois monte esta partição

# mount /dev/xvde1 /mnt/xvde1

Em seguida, antes de vermos as informações reais ... vamos ver como muito (se algum) espaço em disco está sendo usado. Sabemos que a partição é ~ 40GB grande, mas esse é o espaço alocado, não o espaço usado. [graças a @ n.st nos comentários por sugerir usar a partição como um argumento para df !]

# df -H  /dev/xvde1 

Nos dirá quanto espaço está sendo usado. Aqui está um exemplo do meu sistema de arquivos

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        43G   15G   29G  35% /

A segunda coluna (15 GB) é o valor usado. é isso que estamos procurando! Se for > 0, esta unidade não está vazia!

Você pode visualizar todas as informações dos seus sistemas de arquivos montados usando simplesmente

$ df -H

Usamos -H para "Human readable", por sinal. Experimente sem -H e você verá que tudo está em blocos K!

E, finalmente, podemos ver todo o seu conteúdo (nomes de arquivo pelo menos) usando:

# ls -R /mnt/xvde1

Boa sorte!

    
por 01.05.2014 / 02:35
2

Primeiramente, especificamente em relação ao exemplo da pergunta:

Não! Isso não significa que a segunda unidade está vazia.

As linhas

xvde    202:64   0  40G  0 disk
└─xvde1 202:65   0  40G  0 part 

significa que há uma partição de 40 GB nesse disco atualmente não montada , e pode, ou não, conter um sistema de arquivos. Não diz nada sobre os dados nele. Também não diz se pode ser montado de todo.

Em geral:

Para listar todas as partições locais - montadas e desmontadas - você pode usar

fdisk -l

que mostra as tabelas de partição - semelhante a cat /proc/partitions proposta na resposta do @Ramesh, mas com alguns detalhes adicionais que podem ajudar a identificar discos e partições (ou seja, id do tipo de partição, sinalizador de inicialização, identificador de disco). Veja abaixo, por exemplo, saída.

Para identificar dados dentro das partições, use file -s como proposto por @Ramesh:

# file -s /dev/sdc1
/dev/sdc1: Linux rev 1.0 ext4 filesystem data, UUID=[...]

Exemplo de saída de fdisk -l (encurtado):

Disk /dev/sdc: 120.0 GB, 120034123776 bytes                                                                                                                                   
255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectors                                                                                                           
[...]            

Disk identifier: 0x0005550d                                                                                                                                                     

   Device Boot      Start         End      Blocks   Id  System                                                                                                                  
/dev/sdc1            2048   217643007   108820480   83  Linux                                                                                                                   
/dev/sdc2       217645054   234440703     8397825    5  Extended                                                                                                               
/dev/sdc5       217645056   234440703     8397824   82  Linux swap / Solaris                                                                                                   

Disk /dev/sdd: 160.0 GB, 160041885696 bytes        
[...]            
    
por 01.05.2014 / 05:00
1

/proc/partitions listará todos os dispositivos de bloco e partições que o sistema reconhece. Você pode então tentar usar file -s <device> para determinar que tipo de sistema de arquivos está presente na partição, se houver.

Você pode procurar mais opções aqui .

    
por 01.05.2014 / 02:16
1

Você precisa montar o sistema de arquivos e, em seguida, listá-lo para arquivos, se houver.

mount /dev/xvde1 /mnt  || echo 'No filesystem found'
ls -lR /mnt | tee /tmp/xvde1_files.txt
umount /mnt
    
por 01.05.2014 / 02:16