[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Installation of Wheezy on a Dell Latitude E6320 [SSD Only]



Hello dear Debian user reading me,

I've been struggling with this configuration for the past few days (2,5) before I decide to post here. Hopefully this will be the right place?!

So here are the physical elements of my story:
Machine => Dell Latitude E6320
With a single SSD such as :
Model Family:     JMicron based SSDs
Device Model:     KINGSTON SVP100S2128G
Serial Number:    <censored>
Firmware Version: CJRA0202

The Goal:	Installation of Debian Wheezy on a single SSD (No HDD available)

Issue: Under 'heavy' file system activity like aptitude installation of larger packet let say for instance Xorg or whatever. The system then fall into a kind of lockup with numerous sda2 (ext4)I/O errors and even powerdown button can't be used for the shutdown unless keeping it pressed...Let says the fs goes into survive mode like ro and therefore not much can be done then! On next reboot everything seems OK unless attempting same intensive fs manipulation.


<Start of trace or capture!>

Abstract of captured events:
# dmesg
<SNIP>
 4012.906597] Buffer I/O error on device sda2, logical block 10418
[ 4012.907406] Buffer I/O error on device sda2, logical block 10419
[ 4012.908218] Buffer I/O error on device sda2, logical block 10420
[ 4012.909028] Buffer I/O error on device sda2, logical block 10421
[ 4012.909846] Buffer I/O error on device sda2, logical block 10422
[ 4012.910651] Buffer I/O error on device sda2, logical block 10423
[ 4012.911463] Buffer I/O error on device sda2, logical block 10424
[ 4012.912284] EXT4-fs warning (device sda2): ext4_end_bio:250: I/O error -5 writing to inode 1572892 (offset 1728512 size 225280 starting block 135353)
[ 4012.912318] sd 0:0:0:0: [sda] Unhandled error code
[ 4012.912324] sd 0:0:0:0: [sda] Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK [ 4012.912333] sd 0:0:0:0: [sda] CDB: Write(10): 2a 00 00 10 89 a8 00 00 98 00
[ 4012.912356] end_request: I/O error, dev sda, sector 1083816
[ 4012.913239] Buffer I/O error on device sda2, logical block 10549
…

Installation procedure:
Downloaded and burned to USB drive then booted a "Live" version debian-7.7.0-amd64-netinst.iso.
DISTRIB_ID=Debian
DISTRIB_DESCRIPTION="Debian GNU/Linux installer"
DISTRIB_RELEASE="7 (wheezy) - installer build 20130613+deb7u2+b3"
X_INSTALLATION_MEDIUM=cdrom

USB Stick for install was formatted VFAT and burned as follow:
 $ sudo dd if=debian-7.7.0-amd64-netinst.iso of=/dev/sdc
 $ sudo sync

Customization on targeted machine based on https://wiki.debian.org/SSDOptimization and other googled findings:

i.e.: fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=23b300e2-d6a7-44f3-b28d-f42968079795 / ext4 noatime,nodiratime,discard,commit=600,errors=remount-ro 0 1
# /boot/efi was on /dev/sda1 during installation
UUID=61B8-1980  /boot/efi       vfat    defaults        0       1
# swap was on /dev/sda3 during installation
UUID=f4d75da2-c2a2-48d7-b6c6-2d13d5d5cb4c none swap sw 0 0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
/dev/sdb1       /media/usb0     auto    rw,user,noauto  0       0
/dev/sdb2       /media/usb1     auto    rw,user,noauto  0       0
tmpfs		/tmp		tmpfs	defaults,noatime,mode=1777	0	0
tmpfs		/var/spool	tmpfs	defaults,noatime,mode=1777	0	0
tmpfs		/var/tmp	tmpfs	defaults,noatime,mode=1777	0	0

then applied change as well with
$ sudo update-initramfs -u -k all

added /etc/sysctl.d/local.conf such as:
root@Fr-pr-DellE6320:/etc/sysctl.d# cat local.conf
vm.swappiness=1

root@Fr-pr-DellE6320:/etc/sysctl.d#

Changed also defaulted RAMDISK configuration to reduce SSD write frequency:
root@Fr-pr-DellE6320:/etc/default# cat tmpfs | grep RAM
RAMLOCK=yes
#RAMSHM=yes
RAMTMP=yes
# the root filesystem (overriding RAMTMP).
root@Fr-pr-DellE6320:/etc/default#


Giving me the following:
root@Fr-pr-DellE6320:/home/jl# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=10240k,nr_inodes=1008746,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=807460k,mode=755)
/dev/disk/by-uuid/23b300e2-d6a7-44f3-b28d-f42968079795 on / type ext4 (rw,noatime,nodiratime,errors=remount-ro,user_xattr,commit=600,barrier=1,data=ordered,discard)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,noexec,relatime,size=3268060k) /dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=cp437,iocharset=utf8,shortname=mixed,errors=remount-ro)
tmpfs on /tmp type tmpfs (rw,noatime)
tmpfs on /var/spool type tmpfs (rw,noatime)
tmpfs on /var/tmp type tmpfs (rw,noatime)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)


root@Fr-pr-DellE6320:~# parted -l
Model: ATA KINGSTON SVP100S (scsi)
Disk /dev/sda: 128GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End    Size    File system     Name  Flags
 1      1049kB  512MB  511MB   fat32                 boot
 2      512MB   120GB  119GB   ext4
 3      120GB   128GB  8464MB  linux-swap(v1)


root@Fr-pr-DellE6320:~# df -kh
Filesystem Size Used Avail Use% Mounted on rootfs 110G 2.7G 101G 3% / udev 10M 0 10M 0% /dev tmpfs 789M 408K 789M 1% /run /dev/disk/by-uuid/23b300e2-d6a7-44f3-b28d-f42968079795 110G 2.7G 101G 3% / tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 3.2G 0 3.2G 0% /run/shm /dev/sda1 487M 128K 486M 1% /boot/efi tmpfs 3.9G 0 3.9G 0% /tmp tmpfs 3.9G 0 3.9G 0% /var/spool tmpfs 3.9G 0 3.9G 0% /var/tmp
root@Fr-pr-DellE6320:~#

Checking trim:
root@Fr-pr-DellE6320:~# fstrim -v /
/: 114342342656 bytes were trimmed


Checking SSD integrity seems to be fine when tested from Dell BIOS embedded testing or with badblocks such as:
root@Fr-pr-DellE6320:~# badblocks /dev/sda -v
Checking blocks 0 to 125034839
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found. (0/0/0 errors)

Checking with dd:
#
root@Fr-pr-DellE6320:~# dd if=/dev/zero of=tempfile bs=1M count=1024 conv=fdatasync,notrunc
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 6.60575 s, 163 MB/s
root@Fr-pr-DellE6320:~#

Other details of the UUIDs:

root@Fr-pr-DellE6320:~# blkid -v
blkid from util-linux 2.20.1 (libblkid 2.20.0, 19-Oct-2011)
root@Fr-pr-DellE6320:~# blkid
/dev/sda3: UUID="f4d75da2-c2a2-48d7-b6c6-2d13d5d5cb4c" TYPE="swap"
/dev/sda1: UUID="61B8-1980" TYPE="vfat"
/dev/sda2: UUID="23b300e2-d6a7-44f3-b28d-f42968079795" TYPE="ext4"
root@Fr-pr-DellE6320:~#

Checking SSD with smartctl 5.41 nothing relevant detected from my angle...

root@Fr-pr-DellE6320:~# smartctl --all /dev/sda
smartctl 5.41 2011-06-09 r3365 [x86_64-linux-3.2.0-4-amd64] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net

=== START OF INFORMATION SECTION ===
Model Family:     JMicron based SSDs
Device Model:     KINGSTON SVP100S2128G
Serial Number:    <censored>
Firmware Version: CJRA0202
User Capacity:    128,035,676,160 bytes [128 GB]
Sector Size:      512 bytes logical/physical
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   8
ATA Standard is:  Exact ATA specification draft version not indicated
Local Time is:    Fri Nov 28 11:03:52 2014 CET
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x00)	Offline data collection activity
					was never started.
					Auto Offline Data Collection: Disabled.
Self-test execution status: ( 0) The previous self-test routine completed
					without error or no self-test has ever
					been run.
Total time to complete Offline
data collection: 		(  120) seconds.
Offline data collection
capabilities: 			 (0x5b) SMART execute Offline immediate.
					Auto Offline data collection on/off support.
					Suspend Offline collection upon new
					command.
					Offline surface scan supported.
					Self-test supported.
					No Conveyance Self-test supported.
					Selective Self-test supported.
SMART capabilities:            (0x0003)	Saves SMART data before entering
					power-saving mode.
					Supports SMART auto save timer.
Error logging capability:        (0x01)	Error logging supported.
					General Purpose Logging supported.
Short self-test routine
recommended polling time: 	 (   2) minutes.
Extended self-test routine
recommended polling time: 	 (  12) minutes.
SCT capabilities: 	       (0x0039)	SCT Status supported.
					SCT Error Recovery Control supported.
					SCT Feature Control supported.
					SCT Data Table supported.

SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x000a 100 100 000 Old_age Always - 0 2 Throughput_Performance 0x0005 100 100 050 Pre-fail Offline - 0 3 Unknown_Attribute 0x0007 100 100 050 Pre-fail Always - 0 5 Reallocated_Sector_Ct 0x0013 100 100 050 Pre-fail Always - 0 7 Unknown_Attribute 0x000b 100 100 050 Pre-fail Always - 0 8 Unknown_Attribute 0x0005 100 100 050 Pre-fail Offline - 0 9 Power_On_Hours 0x0012 100 100 000 Old_age Always - 5537 10 Unknown_Attribute 0x0013 100 100 050 Pre-fail Always - 0 12 Power_Cycle_Count 0x0012 100 100 000 Old_age Always - 915 167 Unknown_Attribute 0x0022 100 100 000 Old_age Always - 0 168 SATA_Phy_Error_Count 0x0012 100 100 000 Old_age Always - 0 169 Unknown_Attribute 0x0013 100 100 010 Pre-fail Always - 0 173 Erase_Count 0x0012 198 198 000 Old_age Always - 0 0 0 175 Bad_Cluster_Table_Count 0x0013 100 100 010 Pre-fail Always - 0 192 Unexpect_Power_Loss_Ct 0x0012 100 100 000 Old_age Always - 93 194 Temperature_Celsius 0x0023 068 059 030 Pre-fail Always - 32 (Min/Max 8/41) 197 Current_Pending_Sector 0x0012 100 100 000 Old_age Always - 0 240 Unknown_Attribute 0x0013 100 100 050 Pre-fail Always - 0

SMART Error Log Version: 1
No Errors Logged

SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Short offline Completed without error 00% 5519 - # 2 Short offline Completed without error 00% 5519 - # 3 Extended offline Completed without error 00% 5510 - # 4 Short offline Completed without error 00% 5510 - # 5 Short offline Completed without error 00% 5495 -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

<End of trace or capture!>

If you went there, it's probably because you may have a good idea of what need to be done to make it work. Hopefully this is doable, if it's not and your advise is to use a HDD thanks in advance but I already saw that similar comments elsewhere. I'm just looking for a working solution with a single SDD ;-)

Many thanks, looking forward reading good news.

Regards,
JL


Reply to: