====== 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 .