====== Discos ======
===== DISKS =====
Toggle a temporary ram partition
ram() {
mt=/mnt/ram && grep "$mt" < /proc/mts > /dev/null
if [ $? -eq 0 ] ; then
read -p"Enter to Remove Ram Partition "
sudo umount "$mt" && echo $mt 0
else
sudo mt -t tmpfs tmpfs "$mt" -o size=$(( ${1:-1} * 1024 ))m &&\
echo $mt '-' "${1:-1}"gb
fi
}
Mount file system using back-up superblock
mount -o sb=98304 /dev/sda5 /mnt/data5
Resize A Mounted EXT3 File System
v=/dev/vg0/lv0
lvextend -L+200G $v && resize2fs $v
Resize a NTFS partition
ntfsresize --size X[k,M.G] /dev/hda1
Completly blank a disk (3 options)
dd if=/dev/zero of=/dev/hda
dd if=/dev/urandom of=/dev/somedisk
shred --iterations=N /dev/sdaX
Copy GPT partition table from /dev/sda to /dev/sdb
sgdisk /dev/sda -R /dev/sdb && sgdisk -G /dev/sdb
Copy partition table from /dev/sda to /dev/sdb
sfdisk -d /dev/sda | sed 's/sda/sdb/g' | sfdisk /dev/sdb
Get a list of all browsable Samba shares on the target server.
smbclient -N -gL \\SambaServer 2>&1 | grep -e "Disk|" | cut -d'|' -f2
Nice disk usage, sorted by size, see description for full command
du -sk ./* | sort -nr
Outputs a sorted list of disk usage to a text file
du | sort -gr > file_sizes
Partition a new disk as all one partition tagged as
echo -e "o\nn\np\n1\n\n\nw\n" | fdisk /dev/sdX
Partition a new disk as all one partition tagged as LINUX\_NATIVE
echo "0,,L" | sfdisk /dev/sdX
Partition a new disk as all one partition tagged as “LInux LVM”
echo -e "n\np\n1\n\n\nt\n8e\nw" | fdisk /dev/sdX
Partition a sequence of disk drives for LVM with fdisk
for x in {a..d}; do
echo -e "n\np\n\n\n\nt\n8e\nw\n" | fdisk /dev/sd"$x"
done
Programmatically partition a new disk with fdisk
(echo n; echo p; echo 3; echo 1; echo; echo; echo w; echo q) | \
/sbin/fdisk /dev/sda
Put uuid of disk into variable
TEST_UUID=$(blkid /dev/sda6 | sed -rn "s/^.*UUID=\"([a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12})\".*/\1/p")
Rescan partitions on a SCSI device
echo "w" | fdisk /dev/sdb
Securely destroy data on given device
for i in $(seq 1 25); do
dd if=/dev/urandom of=YOUR DISK bs=1M
done
Securely erase unused blocks in a partition
cd $partition
dd if=/dev/zero of=ShredUnusedBlocks bs=512M
shred -vzu ShredUnusedBlocks
See the partition
fdisk -l
Set your ssd disk as a non-rotating medium
sudo echo 0 > /sys/block/sdb/queue/rotational
See the partition
partx -l /dev/sdX
Show drive names next to their full serial number (and disk info)
find /dev/disk/by-id -type l -printf "%l\t%f\n" | cut -b7- | sort
Show drive names next to their full serial number (and disk info)
lsblk -do name,model,serial
Show simple disk IO table using snmp
watch -n1 snmptable -v2c -c public localhost diskIOTable
Shred an complete disk, by overwritting its content 10 times
sudo shred -zn10 /dev/sda
Test file system performance
bonnie++ -n 0 -u 0 -r PHYSICAL RAM -s <2 x physical ram> -f -b -d MOUNTED DISCK
time dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
time dd if=/dev/zero of=TEST bs=4k count=512000
hdparm -t /dev/sda
sync; time ''dd if=/dev/cciss/c0d1p1 of=/dev/null bs=1M count=10240''
sync; time ''dd if=/dev/zero of=bigfile bs=1M count=2048 && sync''
time dd if=/dev/zero of=dummy_file bs=512k count=200
Clone IDE Hard Disk
sudo dd if=/dev/hda1 of=/dev/hdb2
wipe of a complete disk with status
pv -s ''fdisk -l /dev/sdX|grep "Disk /"|cut -d' ' -f5'' /dev/zero >/dev/sdX
Check disk I/O
iostat -d -x 10 5
===== SMARTCTL =====
Smartctl test
smartctl -t short /dev/sdX
smartctl -t long /dev/sdX
smartctl -a /dev/sdX # Da los resultados.
Read all the S.M.A.R.T. data from a hard disk drive
smartctl --attributes /dev/sda
Detail info about the hard disk
hdparm --verbose /dev/sda1
Clone or rescue a block device
ddrescue -v /dev/sda /dev/sdb logfile.log
ddrescue -r 1 /dev/old_disk /dev/new_disk rescued.log
Expedient hard disk temprature and load cycle stats
watch -d 'sudo smartctl -a /dev/sda | grep Load_Cycle_Count ;\
sudo smartctl -a /dev/sda | grep Temp'
===== HD/CD/DVD images =====
Get Volume ID (Label) of ISO9660 CD-ROM
dd if=/dev/cdrom bs=1 skip=32808 count=32 conv=unblock cbs=32 2>/dev/null
ISO info
isoinfo -d -i filename.iso
Mount a msdos formated floppy disk
mount -t msdos /dev/fd0 /mnt/floppy
Dump a mounted disk to an ISO image
dd if=/dev/disk1 of=disk1.iso
Mount a cdrom
mount -t iso9660 /dev/cdrom /media/cdrom
Mount a .iso file in UNIX/Linux
mount /path/to/file.iso /mnt/cdrom -oloop
Mount and umount iso files
function miso () { mkdir ~/ISO_CD && sudo mount -o loop "$@" ~/ISO_CD && cd ~/ISO_CD && ls; }
function uiso () { cd ~ && sudo umount ~/ISO_CD && rm -r ~/ISO_CD; }
Mount an iso
mount -o loop -t iso9660 my.iso /mnt/something
Mount a partition from dd disk image
mount -o loop,offset=$((512*x)) /path/to/dd/image /mount/path
Mount a VMware virtual disk (.vmdk) file on a Linux box
kpartx -av IMAGE-FLAT.VMDK; mount -o /dev/mapper/loop0p1 /mnt/vmdk
Mount a VMware virtual disk (.vmdk) file on a Linux box
sudo mount vmware-server-flat.vmdk /tmp/test/ -o ro,loop=/dev/loop1,offset=32768 -t ntfs
Convert a Nero Image File to ISO
dd bs=1k if=image.nrg of=image.iso skip=300
Convert .bin / .cue into .iso image
bchunk IMAGE.bin IMAGE.cue IMAGE.iso
Convert .daa to .iso
poweriso convert image.daa -o image.iso -ot iso
Create a DOS floppy image
dd if=/dev/zero bs=1024 count=1440 > floppy.img && mkdosfs floppy.img
Create an ISO
genisoimage -o ../squeeze.iso -b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V disks .