තැටියක් SSD හෝ HDD එකක් දැයි දැන ගන්නේ කෙසේද


223

තැටියක් -න-තත්වයේ ධාවකයක්ද නැතිනම් දෘඩ තැටියක්ද යන්න මට දැන ගැනීමට අවශ්‍යය.

lshwස්ථාපනය කර නැත. මම කරන yum install lshwඅතර එයින් කියැවෙන්නේ lshw නමින් පැකේජයක් නොමැති බවයි. මගේ CentOS සඳහා සුදුසු http://pkgs.repoforge.org/lshw/ හි කුමන අනුවාදයදැයි මම නොදනිමි .

මම ජාලය තුළ සෙවූ අතර ධාවකයක් SSD හෝ HDD ද යන්න දැන ගන්නේ කෙසේද යන්න පැහැදිලි කරන කිසිවක් නොමැත. මම පළමුව ඒවා සංයුති කළ යුතුද?

ප්‍රති ult ලය 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
මෙය සැබවින්ම එස්එස්ඩී නම්, මකාදැමීමේ කොටස් කොටස් සමඟ පෙළගැස්වීම සඳහා එය නැවත ආකෘතිකරණය කිරීමට ඔබට අවශ්‍ය විය හැකිය.
symcbean

1
SATA (Serial ATA) යනු ධාවකයේ සම්බන්ධතා වර්ගය වන අතර එය දෘ Dis තැටි ධාවකයක් (HDD) යැයි අඟවන්නේ නැත. SSDs එකවර SATA විය හැකිය, එබැවින් මම මාතෘකාවට සංස්කරණයක් යෝජනා කරමි.
අක්ෂර වින්‍යාසය

Answers:


351

ලිනක්ස් ස්වයංක්‍රීයව SSD හඳුනා ගනී, සහ කර්නල් අනුවාදය 2.6.29 සිට , ඔබට මෙය සත්‍යාපනය sdaකළ හැකිය :

cat /sys/block/sda/queue/rotational

ඔබ 1දෘඩ තැටි සහ 0SSD සඳහා ලබා ගත යුතුය .

ඔබේ තැටිය දෘඩාංග මගින් අනුකරණය කරන තාර්කික උපාංගයක් නම් (RAID පාලකය වැනි) එය ක්‍රියා නොකරනු ඇත.

වැඩි විස්තර සඳහා මෙම පිළිතුර බලන්න ...


2
Stackoverflow හි යමෙක් මෙම තොරතුරු ක්‍රියාත්මක නොවන බව සොයා ගත්තේය.
පයිතොනික්

1
postotor වඩා හොඳය මෙම සටහන අනෙක් පෝස්ටයට එක් කරන්න. ඔහුගේ / ඇයගේ කර්නල් අනුවාදය මම නොදනිමි :)
පයිතොනික්

4
Otorotor ඔබ "දෙමුහුන්" ධාවක වල නිවැරදි ය. කෙසේ වෙතත්, ද්විත්ව ධාවක දෙමුහුන් තනි ධාවක දෙකක් ලෙස පෙන්වන අතර එහිදී SSHD (-න-රාජ්‍ය හයිබ්‍රිඩ් ඩ්‍රයිව්) තනි ධාවකයක් ලෙස පෙන්වයි. එබැවින්, SSHD 1 හි භ්‍රමණය පෙන්වනු ඇත
ටෙරන්ස්

7
අතථ්‍ය සේවාදායකයන්හි, ඔබට ලබා ගැනීමට අවශ්‍ය විය හැකිය/sys/block/vda/queue/rotational
MonoThreaded

1
Er ෆෙරරිබිග් එන්එස්එම්ඊ ආකෘතියේ ඇත්තේ එස්එස්ඩී පමණි, එච්ඩීඩී නොවේ (ඔබට එන්වීඑම්ඊ ස්ලොට් සිට සරල සාටා කේබලය දක්වා අමුතු කඩිනම් ඇඩැප්ටරයක් ​​නොමැති නම්). නමුත් NVME හරහා SATA SSD පවා ලිනක්ස් වල NVME ලෙස හෝ සරල sdX ලෙස පෙන්වන්නේ දැයි විශ්වාස නැත.
මාකි 555

113

සමඟ lsblk( util-linuxපැකේජයේ කොටසක් ):

lsblk -d -o නම, රොටා
NAME ROTA
sda     0
sdb     0
sdc     1

මෙහි ROTAතේරුම rotational device( 1සත්‍ය 0නම්, අසත්‍ය නම්)


2
එම උපයෝගීතාව තුළ ඇති තොරතුරුම වාර්තා කරන බව පෙනේ /sys/block/.../rotational.
dma_k

madma_k පුදුමයට කරුණක් නම්, එය භාවිතා කරන බව පෙනේ. එය ඔබම අත්හදා බලන්න:strace lsblk -d -o name,rota /dev/sda 2>&1 | grep --context=3 --color rotational
සීවීඑන්

5
ඇත්ත වශයෙන්ම මම විවිධ ක්‍රම ගැන සොයා බැලුවෙමි, මන්ද සමහර USB පාලකයන් ධාවකය ඇත්ත වශයෙන්ම භ්‍රමණය නොවන බව නොකියයි (නිදසුනක් ලෙස, USB ෆ්ලෑෂ්) සහ සත්‍යය පැවසීමට ලිනක්ස් හි ක්‍රමයක් නොමැත. දවස අවසානයේදී මම එය නියම කර ඇත්තේ /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

lsblkමගේ හොඳ පැරණි SATA භ්‍රමණය වන HDD සඳහා මෙහි "0" වාර්තා කරයි (ASROCK mobo). « සමහර USB පාලකයන් එම ධාවකය-භ්රමණ නොවන (උදාහරණයක් ලෙස, USB ෆ්ලෑෂ්) ඇත්ත වශයෙන්ම, මෙය කියන්න එපා මේ නිසා සැබෑ --and USB සඳහා වෙනත් මාර්ගයක් බාහිර යාන්ත්රණයක් පැවතීමත් වඩා හොඳ මේ ආකාරයට ය @dma_k» කටින HDDs IMHA.
tuk0z

3
මෙය මට වඩාත් සුදුසුය, නමුත් එයට අතිරික්ත / අනවශ්‍ය ලූප් උපාංග ඇතුළත් වේ (උදා: උබුන්ටු සැණෙකින්). සුළු වැඩිදියුණු කිරීමක් නම්: lsblk -d -e 7 -o NAME,ROTA,DISC-MAX,MODELඑය ලූප් උපාංග බැහැර කරයි + ආකෘති නාමය (නිෂ්පාදකයා) සහ තැටි ධාරිතාව එක් කරයි.
arielf

56

භාවිතය smartctl(ස්ථාපනය විසින් ස්ථාපනය smartmontools) ඔබම තොරතුරු ලබා ගැනීමට,

sudo smartctl -a /dev/sdb

ඔබ මේ වගේ රේඛාවක් දුටුවහොත්,

Rotation Rate: Solid State Device

එය SSD ධාවකයක් වනු ඇත.


31

මට VPS මත මෙය කිරීමට අවශ්‍ය වූ අතර සපයන ලද විසඳුම් කිසිවක් මා වෙනුවෙන් ක්‍රියාත්මක නොවීය.

මෙම පිළිතුර උපක්‍රමය කළේය

/server/551453/how-do-i-verify-that-my-hosting-provider-gave-me-ssds/551495#551495

එබැවින්, එය ධාවකයේ අහඹු දත්ත කියවීම සහ කාලය තක්සේරු කිරීම ය.

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

SSD සඳහා මගේ ප්‍රති results ල මෙන්න

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

සහ HDD

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

1
මට ssd නොවන, RAID10 ඇත, මගේ ප්‍රති results ල: තාත්වික 0m1.351s - පරිශීලක: 0m0.307s - sys: 0m0.560s
the_nuts

3
මෙය හොඳ පිළිතුරක් වන අතර එය මණ්ඩලය පුරා ක්‍රියාත්මක වේ. කාරණය වන්නේ සමහර HDDs තරමක් වේගවත් වන අතර ප්‍රති results ල SSD වලට සමාන විය හැකිය. තවමත්, මෙම පිළිතුර හොඳ මෙට්‍රික් එකක් සපයයි.
itoctopus

1
එස්එස්ඩී නොමැතිව මගේ වීපීඑස් හි මෙය ඔබේ එස්එස්ඩී උදාහරණය වැනි ප්‍රති results ල සපයයි. "දෙමුහුන්" (එස්එස්ඩී හැඹිලි HDD) සැකසුම් මගින් මෙය රැවටෙනු ඇතැයි මම විශ්වාස කරමි.
trr

මට වැඩ කරන්නේ නැහැ. SSD සහ HDD සමාන ප්‍රති .ල ලබා දෙන බව මට පෙනේ.
qqibrow

1
VPS දෘඩාංගයක අථත්‍යකරණය මත. ඔබේ ලිපිගොනු HDD මත ගබඩා කර තිබේද, හැඹිලිගත කර තිබේද, නැතහොත් SSD මත ගබඩා කර තිබේද යන්න ඔබට සැබවින්ම පැවසිය නොහැක.
vidarlo

14

අනෙක් පිළිතුරු දැනටමත් ඔබට කියනුයේ මෙම තොරතුරු ඇතුළුව ක්‍රම කිහිපයකින් ලබා ගන්නේ කෙසේද යන්නයි /proc. නමුත් බහු ස්ථර සහිත දෙමුහුන් SAN අරාව වැනි කිසියම් අථත්‍යකරණයක් තිබේ නම් හෝ ලිනක්ස් යන්ත්‍රය අථත්‍ය යන්ත්‍රයක් නම් (ලිනක්ස් බොහෝ විට තැටිය මූලික SCSI භ්‍රමණය වන තැටියක් ලෙස වාර්තා කරනු ඇත) , දෘඩාංග ඇත්ත වශයෙන්ම කුමක් වුවත්)


මෙය වඩා වැදගත් ප්‍රතිචාරයක් විය හැකිය ... තවද BIOS තුළ හෝ EFI / UEFI යමෙකුට SATA පාලක මාදිලිය AHCI ලෙස සැකසීමට අවශ්‍ය විය හැකි අතර පසුව සෑම තැටියක්ම ජෛව විද්‍යාව තුළ SSD ලෙස සලකුණු කරන්න. හෝම් පීසී හි මගේ ඇස්රොක් පුවරුව මේ වගේ ය, මට වැඩ කරන සේවාදායක පුවරුවල (සුපර්මික්‍රෝ) සමාන දෙයක් තිබුනේ දැයි මතක නැත.
ron

@ron - SATA පාලක මාදිලිය AHCI ලෙස සැකසීමෙන් ඔබ අදහස් කරන්නේ කුමක්ද? උපාංගය SSD එකක්ද නැද්ද යන්න නිවැරදිව වාර්තා කිරීමේ හැකියාව කෙරෙහි එය බලපාන්නේ කෙසේද?
අභිප්‍රේරණය

පළමු වෙබ් සෙවුමෙන් වචන AHCI එදිරිව බලන්න: සාමාන්‍ය පරිගණක පරිශීලකයාට IDE ප්‍රමාණවත් යැයි සලකනු ලබන අතර අනෙකුත් තාක්‍ෂණයන් සමඟ විශේෂයෙන් අනුකූල වේ, විශේෂයෙන් පැරණි උපාංග. කෙසේ වෙතත්, එයට නව තාක්‍ෂණයන් සඳහා සහය නොමැත ... SATA / AHCI ඇඩැප්ටර වින්‍යාස කිරීමට, හඳුනා ගැනීමට හෝ වැඩසටහන් කිරීමට නිර්මාණකරුවන්ට සහ සංවර්ධකයින්ට භාවිතා කළ හැකි සම්මත පද්ධතියක් AHCI සපයයි. *
ron

එය BIOS හි මූලික සැකසුම් වන අතර, ගබඩාව යටතේ කොතැනක හෝ තේරීම් IDE, AHCI වන අතර මවු පුවරුවේ නිෂ්පාදිතය / මාදිලිය / වර්ෂය මත පදනම්ව RAID ද ලබා දිය හැකිය. අයිඑස්ඩී මූලික වශයෙන් යල්පැන ගොස් ප්‍රමිතිය ඒඑච්සීඅයි බවට පත්වීමෙන් බොහෝ කලකට පසුව එස්එස්ඩී ය එළියට පැමිණියේය. AHCI ප්‍රොටෝකෝල මත පදනම් වූ SATA පාලකයක් සමඟ සන්නිවේදනය කිරීමට හැකිවීම.
ron

11

පරීක්ෂා කරන්න cat /proc/scsi/scsi. එහිදී ඔබ ඔබේ තැටියේ නිශ්චිත ආකෘතිය දැකිය යුතුය. ඉන්පසු ඔබ ඒ පිළිබඳ තොරතුරු සෙවීම සඳහා ආකෘතිය ගූගල් කරන්න.


2
dmesgඑකම තොරතුරු අඩංගු වේ. dmesg | grep -i -e scsi -e ata
මතෙ

4

මෙය පැරණි පෝස්ට් එකක් වන නමුත් මට මෙය අහම්බෙන් සොයාගත් වෙනත් ක්‍රමයක් බෙදා ගැනීමට අවශ්‍ය විය:

sg_vpd --page=bdc /dev/sda

මෙම විධානයන් මඟින් බ්ලොක් උපාංග ලක්ෂණ සඳහා වැදගත් නිෂ්පාදන දත්ත ලබා ගනී. භ්‍රමණය වන හිස් තැටියක් සඳහා, ප්‍රතිදානයට ඇතුළත් වන්නේ: නාමික භ්‍රමණ අනුපාතය: 7200 rpm එස්එස්ඩී සඳහා, එයට ඇතුළත් වන්නේ: භ්‍රමණය නොවන මාධ්‍යය (උදා: state න තත්වය)


+1. හොඳයි, නමුත් එය මගේ (වයසට යාම සහ ඉක්මනින් ප්‍රතිස්ථාපනය වීමට) ක්‍රියාත්මක වන බව ඩබ්ලිව් ඩී ග්‍රීන්ස් පවසයි Medium rotation rate is not reported. hdparmහා smartmonctlඑම පවසති. මම හිතන්නේ ඩබ්ලිව්ඩී කියන්න කැමති නැහැ.
cas

sg_vpd -i වඩාත් ප්‍රයෝජනවත් විය හැකිය, අවම වශයෙන් එය ධාවකයේ සිට විකුණුම්කරුවන්ගේ තොරතුරු ලබා දෙයි. වැටලීමක වැඩ කරන්නේ නැහැ, තෝ.
ඩේල්

1

මෙය ඔබේ ලිනක්ස් පර්යන්තයේ ටයිප් කරන්න:

cat /proc/scsi/scsi

මගේ වගේ:

$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST1000LM024 HN-M Rev: 0004
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: SAMSUNG SSD PM83 Rev: 3D1Q
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi2 Channel: 00 Id: 00 Lun: 00
  Vendor: HL-DT-ST Model: DVD+-RW GT80N    Rev: A103
  Type:   CD-ROM                           ANSI  SCSI revision: 05

ඔබේ දෘ hard තැටියේ ආකෘතිය SSD හෝ HHD නම් ඔබට දැක ගත හැකිය.


මෙය ATA / SCSI වාරණ උපාංග පමණක් පෙන්වන බව පෙනේ, NVMe SSD වැනි වෙනත් ඒවා නොපෙන්වයි.
arielf

ඔබේ තැටිය වැටලීම් පාලකය පිටුපස තිබේ නම්, ඔබ දකින්නේ වැටලීම් පාලකය පමණිVendor: LSI Model: SMC3108 Rev: 4.27
ron

1
find /sys/block/* -maxdepth 1 -exec echo {} \; -exec grep '0' {}/queue/rotational \; | grep -B1 '^0' | grep '^/' | sed 's/^.*\///g'

මෙය සියලුම බ්ලොක් උපාංග සොයන අතර එය භ්‍රමණය දැයි පරීක්ෂා කරයි (1); නොමැති නම් (0) එය ssd වේ.

මෙය පෙන්වන්නේ ssd ලෙස සලකුණු කර ඇති තැටි පමණි.


ajouté | grep -v 'loop' dans la commande pour ignr les "block device" virtuel ex: SsDrive for in සඳහා (find / sys / block / * -maxdepth 1 -exec echo {} \; -exec grep '0' {} / queue / rotational \; | grep -v 'loop' | grep -B1 '^ 0' | grep '^ /' | sed 's /^.*\/// g'); සොයන්න / dev / -name $ SsDrive [0-9]; අවසන්
user515185

ඊයේ මගේ පරිවර්තනයෙන් පසුව ඔබ මීට පෙර උත්සාහ කළ පරිවර්තන පෙරළා ඇති බව මම දුටුවෙමි. මෙම වෙබ් අඩවියේ පිළිතුරු ඉංග්‍රීසියෙන් විය යුතු බව කරුණාවෙන් සලකන්න. ඔබට ස්තුතියි!
ජෙෆ් ෂලර්

එකතු කරන්න | grep -v 'loop' විධාන රේඛාවේ (අතථ්‍ය වාරණ උපාංගය) අමතක කිරීම සඳහා උදා: ssDrive සඳහා $ (සොයන්න / sys / block / * -maxdepth 1 -exec echo {} \; -exec grep '0' { } / පෝලිම් / භ්‍රමණ \; | grep -v 'loop' | grep -B1 '^ 0' | grep '^ /' | sed 's /^.*\/// g'); සොයන්න / dev / -name $ SsDrive [0-9]; අවසන්
user515185
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.