标签: ssd

如何知道磁盘是SSD还是HDD

我想知道磁盘是固态驱动器还是硬盘。

lshw未安装。我做了yum install lshw,它说没有名为 lshw 的包。我不知道哪个版本的http://pkgs.repoforge.org/lshw/适合我的 CentOS。

我在网上搜索,没有任何内容可以解释如何知道驱动器是 SSD 还是 HDD。我应该先格式化它们吗?

结果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 …
Run Code Online (Sandbox Code Playgroud)

linux ssd hard-disk block-device

261
推荐指数
7
解决办法
35万
查看次数

什么不能放在 SSD 上?

我买了一个 SSD,我打算用全新的 Linux 安装来设置我的桌面系统。

众所周知,SSD 速度很快,但它们有一个缺点:写入次数(每个块?)是有限的。

所以我在考虑哪些数据应该放在 SSD 上,哪些应该放在 HDD 驱动器上。一般我认为经常变化的数据应该放在HDD上,不经常变化的数据可以放在SSD上。

  • 现在我用类似的场景阅读了这个问题。答案中写道:“SSD 驱动器非常适合交换空间......”

    为什么 SSD 非常适合交换空间?好的,我认为提高系统性能的潜力很大,但不会频繁交换数据更改,因此会在 SSD 上进行多次写入,从而导致 SSD 寿命较短?

  • /var 目录呢?它的内容不是也经常变化吗?把它放在硬盘上不是一个好主意吗?

  • 是否还有其他不应位于 SSD 上的数据?

ssd swap hard-disk flash-memory

76
推荐指数
2
解决办法
2万
查看次数

如何安全地从正在运行的系统中移除 SATA 磁盘?

我有时需要将磁盘插入磁盘托架。在其他时候,我有一个非常奇怪的设置,即使用笔记本电脑上的 SATA-eSATA 电缆连接 SSD,同时从台式机上取电。

如何安全地从系统中移除 SATA 磁盘?这个Phoronix论坛帖子有一些建议:

justsumdood 写道:

An(noymous)droid 写道:
那么在拔掉插头之前你在软件方面做了什么?它是一个简单的“umount /dev/sd”[驱动器号]吗?卸载设备后,要“关闭”(或休眠)设备:

hdparm -Y /dev/sdX
Run Code Online (Sandbox Code Playgroud)

(其中 X 代表您要关闭的设备。例如:/dev/sdb)

这将使驱动器断电,以便在没有电压浪涌风险的情况下将其移除。

这是否意味着磁盘缓存会在此后正确刷新并关闭电源?

来自同一线程的另一个建议:

chithanh 写道:
所有 SATA 和 eSATA 硬件都可以在物理上进行热插拔(即如果插入/拔出插头不会损坏)。

芯片组和驱动程序如何处理这是另一个问题。某些驱动程序/芯片组组合不能正确处理热插拔,需要一个热插拔命令,例如以下命令:

echo 0 - 0 > /sys/class/scsi_host/hostX/scan
Run Code Online (Sandbox Code Playgroud)

将 X 替换为适合您的 SATA/eSATA 端口的编号。

我怀疑这样做是否正确,但我也找不到一些证据来反对它。

那么,从系统中删除附加磁盘的正确方法是什么?假设我已经卸载了磁盘上的每个分区并运行了sync. 如果可能,请指向一些官方文档,我在 Linux 文档树或Linux ATA wiki 中找不到任何内容。

ssd sata hot-plug disk

75
推荐指数
4
解决办法
9万
查看次数

“同步”和“异步”挂载选项之间的区别

从最终用户的角度来看syncasync挂载选项和挂载选项有什么区别?使用这些选项之一挂载的文件系统是否比使用另一个选项挂载更快?如果没有设置,哪个选项是默认选项?

man mount说这个sync选项可能会减少闪存的寿命,但它可能是过时的传统智慧。无论如何,这让我有点担心,因为我的主硬盘驱动器,分区//home放置的位置,是 SSD 驱动器。

Ubuntu的安装程序(14.04)没有指定sync,也不async供选择/分区,但已经设置async/home由选项defaults。这是我的/etc/fstab,我添加了一些额外的行(见评论),但没有改变安装程序所做的行中的任何内容:

# / was on /dev/sda2 during installation
UUID=7e4f7654-3143-4fe7-8ced-445b0dc5b742 /     ext4  errors=remount-ro 0  1
# /home was on /dev/sda3 during installation
UUID=d29541fc-adfa-4637-936e-b5b9dbb0ba67 /home ext4  defaults          0  2
# swap was on /dev/sda4 during installation
UUID=f9b53b49-94bc-4d8c-918d-809c9cefe79f none  swap  sw                0  0

# here goes part written by me:

# /mnt/storage
UUID=4e04381d-8d01-4282-a56f-358ea299326e …
Run Code Online (Sandbox Code Playgroud)

filesystems ssd mount fstab

52
推荐指数
2
解决办法
11万
查看次数

在 linux 上对 ssd 进行基准测试:如何测量与 Crystaldiskmark 在 Windows 中所做的相同的事情

我想对 ssd(可能使用加密文件系统)进行基准测试,并将其与由 Crystaldiskmark 在 Windows 上完成的基准测试进行比较。

Windows 上的 CrystalDiskMark

那么我怎样才能测量出与 Crystaldiskmark 大致相同的东西呢?

对于第一行(Seq),我想我可以做类似的事情

LC_ALL=C dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc

sudo su -c "echo 3 > /proc/sys/vm/drop_caches"
LC_ALL=C dd if=tempfile of=/dev/null bs=1M count=1024
Run Code Online (Sandbox Code Playgroud)

但我不确定dd参数。

对于随机 512KB、4KB、4KB(队列深度=32)读/写速度测试,我不知道如何在 linux 中重现测量结果?那么我该怎么做呢?

为了测试阅读速度,类似的东西sudo hdparm -Tt /dev/sda对我来说似乎没有意义,因为我想要例如基准测试之类的东西encfs

编辑

@Alko,@iain

也许我应该写一些关于这个问题的动机:我正在尝试对我的 ssd 进行基准测试并比较一些加密解决方案。但这是另一个问题(在我的系统上对不同加密解决方案进行基准测试的最佳方法)。在网上浏览有关 ssd 和基准测试的信息时,我经常看到用户在论坛上发布他们的 CrystelDiskMark 结果。所以这是这个问题的唯一动机。我只想在 linux 上做同样的事情。对于我的特定基准测试,请参阅我的其他问题。

performance ssd dd benchmark

39
推荐指数
6
解决办法
6万
查看次数

如何在 Linux 上检查驱动器温度?

我已经使用过hdparm -nsmartctl -A但它似乎总是一种“每驱动器”技术,因为驱动器可能只回答这些工具中的一个。

那么,是否有一种标准方法可以在 Linux(HDD 或 SSD)上获取驱动器温度?如果没有,我可以使用什么(其他)工具来获取这些信息?

linux ssd hard-disk temperature

38
推荐指数
2
解决办法
7万
查看次数

如何查看SSD剩余寿命或介质磨损程度?

我们都知道 SSD 的预定寿命是有限的。如何在 Linux 中检查 SSD 的当前健康状态?

大多数谷歌搜索结果会要求您查找名为 Media_Wearout_Indicator 的百分比字段的 SMART 信息,或其他术语指标,如长期数据耐力——不存在——是的,我确实检查了两个 SSD,都没有这些字段。我可以继续寻找第三个 SSD,但我觉得这些字段没有标准化。

为了演示这里的问题,我们举了两个例子。


对于第一个 SSD,不清楚哪个字段表示磨损级别。然而,只有一个 Unknown_Attribute 的 RAW VALUE 介于 1 和 100 之间,因此我只能假设这就是我们正在寻找的:

    $ sudo smartctl -A /dev/sda                                             
    smartctl 6.2 2013-04-20 r3812 [x86_64-linux-3.11.0-14-generic] (local build)
    Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

    === START OF READ SMART DATA SECTION ===                                 
    SMART Attributes Data Structure revision number: 1                       
    Vendor Specific SMART Attributes with Thresholds:                        
    ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
      5 Reallocated_Sector_Ct   0x0002 …
Run Code Online (Sandbox Code Playgroud)

hardware ssd hard-disk smartctl

36
推荐指数
3
解决办法
11万
查看次数

SSD:我应该多久做一次 fstrim?

有不同的来源,建议采用不同的做法。我发现以下建议应该多久运行一次 fstrim。

  • 每周由 cron 运行
  • 每天由 cron 运行
  • 在每次启动时运行

什么是最佳选择,为什么?Ubuntu 14.04 默认使用第一个选项。

ssd trim

31
推荐指数
2
解决办法
3万
查看次数

shred 对擦除 SSD 有害吗?

每当我出售驱动器时,我都会使用来自现场环境的碎片将其归零一次:

sudo shred -vzn 0 /dev/sdX
Run Code Online (Sandbox Code Playgroud)

在我仔细检查之前,它没有安装。这是我所知道的安全擦除驱动器的最快方法。现在我听说这对 SSD 不利。有没有办法安全地擦除同样快或更快的 SSD?

从理论的角度来看,我理解您需要覆盖整个卷才能使恢复变得不可能。所以我不知道有什么方法可以减轻 SSD 的压力。有人告诉我一次通过根本不会减少 SSD 的使用寿命。

cat /dev/zero > /dev/sdX一样快吗?

我不是在这里处理敏感数据,也不需要保护驱动器免受知识渊博的人不遗余力地恢复数据的影响。快速是我所需要的,同时又不会减少 SSD 的使用寿命。

编辑:这是否适用于 SSD 就像适用于 HDD 一样?

dd if=/dev/urandom of=/dev/sdc bs=1M count=2
Run Code Online (Sandbox Code Playgroud)

ssd shred

29
推荐指数
4
解决办法
1万
查看次数

将 LVM 与 SSD 和 SATA 驱动器配合使用

我在这个问题中看到可以将 SSD 和标准 SATA 硬盘驱动器放入单个 LVM 卷组 (VG)。

这如何影响性能?

当数据位于单个卷组内的 SATA 驱动器上时,有没有办法强制操作系统位于 SSD 上?

是否有关于在不同类型的驱动器上使用 LVM 的好的白皮书?

为每种驱动器类型和/或速度创建 VG 是否有益?我正在考虑为 SSD 创建一个 VG,为 SATA 创建一个 VG(以及我将来可能会添加的每种驱动器类型)。

partition ssd lvm hard-disk

27
推荐指数
2
解决办法
2万
查看次数