Bir diskin SSD mi yoksa HDD mi olduğunu bilmek nasıl


193

Bir diskin katı hal sürücüsü mü yoksa sabit disk mi olduğunu bilmek istiyorum.

lshwyüklü değil. Yapmam yum install lshwve lshw adında bir paket olmadığını söyledi. CentOS için hangi http://pkgs.repoforge.org/lshw/ adresinin uygun olduğunu bilmiyorum .

İnternette arama yapıyorum ve bir sürücünün SSD mi yoksa HDD mi olduğunu bilmeyi açıklayan hiçbir şey yok. Önce onları biçimlendirmeli miyim?

Sonuç fdisk -l:

Disk /dev/sda: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00074f7d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          14      103424   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              14         536     4194304   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3             536       14594   112921600   83  Linux

Disk /dev/sdc: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/sdb: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000


Disk /dev/sdd: 480.1 GB, 480103981056 bytes
255 heads, 63 sectors/track, 58369 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

1
Bu gerçekten bir SSD ise, silme bloklarını bölümlerle hizalamak için yeniden biçimlendirmek isteyebilirsiniz.
symcbean

SATA (Seri ATA), sürücünün bağlantı türünü belirtir ve bir Sabit Disk Sürücüsü (HDD) olduğu anlamına gelmez. SSD'ler aynı anda SATA olabilir, bu yüzden başlığın değiştirilmesini öneriyorum.
SpellingD

Yanıtlar:


310

Linux, SSD'yi otomatik olarak algılar ve çekirdek 2.6.29 sürümünden bu yana şunları doğrulayabilirsiniz sda:

cat /sys/block/sda/queue/rotational

1Sabit diskler ve 0bir SSD için almalısınız .

Diskiniz donanım tarafından taklit edilen mantıksal bir aygıtsa (RAID denetleyicisi gibi) işe yaramaz.

Daha fazla bilgi için bu cevaba bakınız ...


2
Stackoverflow'ta biri bu sistem bilgisinin işe yaramadığını buldu.
PythoNic

@ Motor iki diskim var, hangisinin SSD olduğunu nasıl öğrenebilirim?
user11498

2
@ yerine user11498 sdatarafından sdb... ve SSD hangisi olduğunu görün
Totor

3
@Totor "Hibrit" sürücülerde haklısınız. Bununla birlikte, çift sürücülü hibritler, SSHD'nin (Katı Hal Hibrit Sürücüsü) tek bir sürücü olarak göründüğü iki ayrı sürücü olarak görünür. Böylece, SSHD 1’in rotasyonunu gösterecekti.
Terrance

6
Sanal sunucularda, getirmeniz gerekebilir/sys/block/vda/queue/rotational
MonoThreaded

90

İle lsblk( util-linuxpaketin bir parçası ):

lsblk -d -o isim, rota
NAME ROTA
sda     0
sdb     0
sdc     1

nerede ROTAdemektir rotational device( 1doğruysa, 0yanlışsa)


1
Bu yardımcı program, aynı bilgileri rapor ediyor gibi görünüyor /sys/block/.../rotational.
dma_k

@dma_k Küçük bir merak, bunu kullanıyor gibi göründüğünü düşünüyor. Kendiniz deneyin:strace lsblk -d -o name,rota /dev/sda 2>&1 | grep --context=3 --color rotational
bir CVn

5
Aslında çeşitli yollara bakıyordum çünkü bazı USB denetleyiciler sürücünün aslında dönmediğini söylüyor (örneğin, USB flaş) ve Linux'ta gerçeği söylemenin bir yolu yok. Günün sonunda, açık kuralı şu şekilde oluşturarak düzelttim /etc/udev/rules.d/90-non-rotational.rules:ACTION=="add|change", SUBSYSTEMS=="usb", ENV{ID_SERIAL}=="SanDisk_Ultra_Fit_*-0:0", ATTR{queue/rotational}="0", ATTR{queue/scheduler}="deadline"
dma_k

lsblkBuradaki tüm eski iyi SATA dönen HDD'lerim için "0" yazıyor (ASROCK mobo). « Bazı USB denetleyicileri sürücünün aslında dönmediğini söylemez (örneğin, USB flaş) » @dma_k bu çok doğru - ve USB kablolu harici döner HDDler IMHA'nın diğer yolundan daha iyi .
tuk0z

50

Satıcı bilgilerini almak için kullan smartctl(kurularak kur smartmontools),

sudo smartctl -a /dev/sdb

Böyle bir çizgi görürseniz,

Rotation Rate: Solid State Device

Bu bir SSD sürücüsü olurdu.


5
smartctl komutu bulunamadı
IgorGanapolsky

7
smartctl smartmontools paketinin bir parçasıdır
trr

27

Bunu VPS'de yapmam gerekiyordu ve sağlanan çözümlerin hiçbiri benim için işe yaramadı,

Bu cevap hile yaptı

https://serverfault.com/questions/551453/how-do-i-verify-that-my-hosting-provider-gave-me-ssds/551495#551495

bu yüzden, sürücüden rastgele verileri okumak ve zamanı değerlendirmekle ilgilidir.

time for i in `seq 1 1000`; do
    dd bs=4k if=/dev/sda count=1 skip=$(( $RANDOM * 128 )) >/dev/null 2>&1;
done

işte SSD sonuçlarım

real    0m1.375s
user    0m0.285s
sys     0m0.944s

ve HDD

real    0m14.249s
user    0m0.752s
sys     0m6.284s

Ssd olmayan RAID10'um var ve sonuçlarım: gerçek 0m1.351s - kullanıcı: 0m0.307s - sys: 0m0.560s
the_nuts

1
Bu iyi bir cevap ve yönetim kurulu genelinde işe yarıyor. Mesele şu ki bazı HDD'ler oldukça hızlı ve sonuçlar SSD'lerinkilerle benzer olabilir. Yine de, bu cevap iyi bir ölçüm sağlar.
itoctopus

1
SSD'siz VPS'imde bu SSD örneğiniz gibi sonuçlar veriyor. Bunun "karma" (SSD önbellekli HDD) kurulumları tarafından kandırılabileceğine inanıyorum.
trr

benim için çalışmıyor SSD ve HDD’nin de benzer sonuç verdiğini biliyorum.
qqibrow

Bir VPS donanımında sanallaştırılmış. Dosyalarınızın bir HDD'de depolandığını, önbelleğe alındığını veya SSD'de depolandığını gerçekten söyleyemezsiniz.
vidarlo

12

Diğer cevaplar, size bu bilgileri nasıl dahil edeceğinizi bir kaç yolla söyler /proc. Ancak, birden fazla katmana sahip hibrit bir SAN dizisi gibi sanallaştırma varsa veya Linux makinesi sanal bir makine ise (Linux muhtemelen diski temel bir SCSI döner disk olarak rapor edecektir), tüm bu mekanizmaların yalan söylemesini beklemelisiniz. , donanımın gerçekte ne olduğuna bakmaksızın)


bu, en önemli yanıtlardan biri olabilir ... ve ayrıca BIOS içerisinde veya EFI / UEFI, SATA denetleyici modunu AHCI olarak ayarlamanız ve ardından her diski de bios içinde SSD olarak işaretlemeniz gerekebilir. Ev bilgisayarındaki Asrock anakartım böyle, sunucu kartlarında benzer bir şey olup olmadığını hatırlayamıyorum (supermicro) İş yerimde ama işyerinde SSD kullanmıyorum.
ron

@ron - SATA denetleyici modunu AHCI olarak ayarlayarak ne demek istiyorsunuz? Cihaz bir SSD olup olmadığını doğru raporlama yeteneğini nasıl etkiler?
Motive

İlk web aramasından alıntı yapan AHCI-IDE'ye bakın: IDE ortalama bir bilgisayar kullanıcısı için yeterli kabul edilir ve diğer teknolojilerle, özellikle daha eski cihazlarla en uyumludur. Ancak, yeni teknolojiler için destek bulunmuyor ... AHCI, tasarımcıların ve geliştiricilerin SATA / AHCI bağdaştırıcılarını yapılandırmak, tespit etmek veya programlamak için kullanabilecekleri standart bir sistem sunar. *
ron

Bu, BIOS'un temel bir ayarı olan Depolama altında bir yerde, seçenekler IDE, AHCI ve ayrıca anakartın marka / model / yılına bağlı olarak da RAID sunabilir. IDE'ler IDE'nin temelde modası geçtikten ve standartlar AHCI olduktan uzun süre sonra ortaya çıktı. Örneğin, bugün Windows95'i bir bilgisayara yüklemek, herhangi bir donanımı tanımayacaktı ... IDE modunda olmak kesinlikle bir SSD ile iletişim kurmaya pek yardımcı olmaz, sadece AHCI protokollerine dayanan bir SATA denetleyicisi ile iletişim kurabilmek.
ron

9

kontrol edin cat /proc/scsi/scsi. orada diskinizin tam modelini görmelisiniz. daha sonra bu konuda bilgi bulmak için modeli google.


1
dmesgaynı bilgiyi içerecektir. dmesg | grep -i -e scsi -e ata
Matt,

3

Bu eski bir yazı ama bunu tesadüfen bulduğum başka bir yolu paylaşmak istedim:

sg_vpd --page=bdc /dev/sda

Bu komut, blok cihaz özellikleri için Hayati Ürün Verilerini alır. Dönen başlı bir disk için, çıkış şunları içerecektir: Nominal dönüş hızı: 7200 rpm Bir SSD için, aşağıdakileri içerecektir: Dönmeyen ortam (örn. Katı hal)


+1. güzel, ama bunu çalıştırıyorum (yaşlanıyorum ve yakında değiştirilecek) WD Greens diyor Medium rotation rate is not reported. hdparmve smartmonctlaynısını söyle. Sanırım WD anlatmak istemiyor.
Cas

sg_vpd -i daha faydalı olabilir, en azından sürücüden satıcı bilgisi verir. Baskın yapmaz, değil mi?
Dale
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.