Friday, July 23, 2010

Using iSCSI On Ubuntu 10.04 (Initiator And Target)



This guide explains how you can set up an iSCSI target and an iSCSI initiator (client), both running Ubuntu 10.04. The iSCSI protocol is a storage area network (SAN) protocol which allows iSCSI initiators to use storage devices on the (remote) iSCSI target using normal ethernet cabling. To the iSCSI initiator, the remote storage looks like a normal, locally-attached hard drive.
I do not issue any guarantee that this will work for you!

1 Preliminary Note

I'm using two Ubuntu 10.04 servers here:
  • server1.example.com (Initiator): IP address 192.168.0.100
  • server2.example.com (Target): IP address 192.168.0.101
Because we will run all the steps from this tutorial with root privileges, we can either prepend all commands in this tutorial with the string sudo, or we become root right now by typing

sudo su

2 Setting Up The Target (server2)

server2:

First we set up the target (server2):
aptitude install iscsitarget
Open /etc/default/iscsitarget...
vi /etc/default/iscsitarget
... and set ISCSITARGET_ENABLE to true:







ISCSITARGET_ENABLE=true



We can use unused logical volumes, image files, hard drives (e.g. /dev/sdb), hard drive partitions (e.g. /dev/sdb1) or RAID devices (e.g. /dev/md0) for the storage. In this example I will create a logical volume of 20GB named storage_lun1 in the volume group vg0:

lvcreate -L20G -n storage_lun1 vg0

(If you want to use an image file, you can create it as follows:

mkdir /storage
dd if=/dev/zero of=/storage/lun1.img bs=1024k count=20000

This creates the image file /storage/lun1.img with a size of 20GB.
)

Next we edit /etc/ietd.conf...

vi /etc/ietd.conf

... and comment out everything in that file. At the end we add the following stanza:







[...]
Target iqn.2001-04.com.example:storage.lun1
IncomingUser someuser secret
OutgoingUser
Lun 0 Path=/dev/vg0/storage_lun1,Type=fileio
Alias LUN1
#MaxConnections 6




The target name must be a globally unique name, the iSCSI standard defines the "iSCSI Qualified Name" as follows: iqn.yyyy-mm.<reversed domain name>[:identifier];yyyy-mm is the date at which the domain is valid; the identifier is freely selectable. The IncomingUser line contains a username and a password so that only the initiators (clients) that provide this username and password can log in and use the storage device; if you don't need authentication, don't specify a username and password in theIncomingUser line. In the Lun line, we must specify the full path to the storage device (e.g. /dev/vg0/storage_lun1/storage/lun1.img/dev/sdb, etc.).


Now we tell the target that we want to allow connections to the device iqn.2001-04.com.example:storage.lun1 from the IP address 192.168.0.100 (server1.example.com) (comment out the ALL ALL line because that would allow all initiators to connect to all targets)...
vi /etc/initiators.allow







[...]
iqn.2001-04.com.example:storage.lun1 192.168.0.100
#ALL ALL

... and start the target:

/etc/init.d/iscsitarget start

3 Setting Up The Initiator (server1)

server1:

On server1, we install the initiator:
aptitude install open-iscsi
Next we open /etc/iscsi/iscsid.conf...
vi /etc/iscsi/iscsid.conf
... and set node.startup to automatic:







[...]
node.startup = automatic
[...]



Then we restart the initiator:

/etc/init.d/open-iscsi restart

Now we connect to the target (server2) and check what storage devices it has to offer:

iscsiadm -m discovery -t st -p 192.168.0.101

root@server1:~# iscsiadm -m discovery -t st -p 192.168.0.101

192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1


root@server1:~#


iscsiadm -m node

root@server1:~# iscsiadm -m node

192.168.0.101:3260,1 iqn.2001-04.com.example:storage.lun1


root@server1:~#


The settings for the storage device iqn.2001-04.com.example:storage.lun1 on 192.168.0.101:3260,1 are stored in the file /etc/iscsi/nodes/iqn.2001-04.com.example:storage.lun1/192.168.0.101,3260,1/default. We need to set the username and password for the target in that file; instead of editing that file manually, we can use the iscsiadm command to do this for us:

iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --op=update --name node.session.auth.authmethod --value=CHAP
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --op=update --name node.session.auth.username --value=someuser
iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --op=update --name node.session.auth.password --value=secret


Now we can log in, either by running...

iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --login



root@server1:~# iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --login
Logging in to [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]
Login to [iface: default, target: iqn.2001-04.com.example:storage.lun1, portal: 192.168.0.101,3260]: successful
root@server1:~#


... or by restarting the initiator:

/etc/init.d/open-iscsi restart


(If you want to log out, you can run

iscsiadm -m node --targetname "iqn.2001-04.com.example:storage.lun1" --portal "192.168.0.101:3260" --logout
)

In the output of
fdisk -l

you should now find a new hard drive (/dev/sdb in this example); that's our iSCSI storage device:
root@server1:~# fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 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: 0x00016be9

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          32      248832   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              32        3917    31205377    5  Extended
/dev/sda5              32        3917    31205376   8e  Linux LVM

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdb doesn't contain a valid partition table
root@server1:~#


To use that device, we must format it:
fdisk /dev/sdb

server1:~# fdisk /dev/sdb

Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x882944df.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.


The number of cylinders for this disk is set to 20480.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

Command (m for help):
 <-- m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help):
 <-- n
Command action
   e   extended
   p   primary partition (1-4)

<-- p
Partition number (1-4): <-- 1
First cylinder (1-20480, default 1): <-- ENTER
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-20480, default 20480):
 <-- ENTER
Using default value 20480

Command (m for help):
 <-- t
Selected partition 1
Hex code (type L to list codes):
 <-- L

 0  Empty           1e  Hidden W95 FAT1 80  Old Minix       be  Solaris boot
 1  FAT12           24  NEC DOS         81  Minix / old Lin bf  Solaris
 2  XENIX root      39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 5  Extended        41  PPC PReP Boot   85  Linux extended  c7  Syrinx
 6  FAT16           42  SFS             86  NTFS volume set da  Non-FS data
 7  HPFS/NTFS       4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .
 8  AIX             4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility
 9  AIX bootable    4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt
 a  OS/2 Boot Manag 50  OnTrack DM      93  Amoeba          e1  DOS access
 b  W95 FAT32       51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O
 c  W95 FAT32 (LBA) 52  CP/M            9f  BSD/OS          e4  SpeedStor
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  EFI GPT
10  OPUS            55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
11  Hidden FAT12    56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
12  Compaq diagnost 5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor
14  Hidden FAT16 <3 61  SpeedStor       a9  NetBSD          f4  SpeedStor
16  Hidden FAT16    63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fd  Linux raid auto
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fe  LANstep
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid ff  BBT
1c  Hidden W95 FAT3 75  PC/IX
Hex code (type L to list codes):
 <-- 83

Command (m for help): <-- w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
server1:~#
Afterwards, the output of
fdisk -l
should look as follows:
root@server1:~# fdisk -l

Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 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: 0x00016be9

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          32      248832   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              32        3917    31205377    5  Extended
/dev/sda5              32        3917    31205376   8e  Linux LVM

Disk /dev/sdb: 21.5 GB, 21474836480 bytes
64 heads, 32 sectors/track, 20480 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x725b9dff

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1       20480    20971504   83  Linux
root@server1:~#
Now we create a filesystem on /dev/sdb1...
mkfs.ext4 /dev/sdb1
... and mount it for test purposes:
mount /dev/sdb1 /mnt
You should now see the new device in the outputs of...
mount
root@server1:~# mount
/dev/mapper/server1-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
none on /var/lib/ureadahead/debugfs type debugfs (rw,relatime)
/dev/sda1 on /boot type ext2 (rw)
/dev/sdb1 on /mnt type ext4 (rw)
root@server1:~#
... and
df -h
root@server1:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/server1-root
                       18G  838M   16G   5% /
none                  243M  180K  242M   1% /dev
none                  247M     0  247M   0% /dev/shm
none                  247M   36K  247M   1% /var/run
none                  247M     0  247M   0% /var/lock
none                  247M     0  247M   0% /lib/init/rw
none                   18G  838M   16G   5% /var/lib/ureadahead/debugfs
/dev/sda1             228M   17M  199M   8% /boot
/dev/sdb1              20G  172M   19G   1% /mnt
root@server1:~#
You can unmount it like this:
umount /mnt
To have the device mounted automatically at boot time, e.g. in the directory /storage, we create that directory...
mkdir /storage
... and add the following line to /etc/fstab:
vi /etc/fstab







[...]
/dev/sdb1 /storage ext4 defaults,auto,_netdev 0 0

For test purposes, you can now reboot the system:
reboot
After the reboot, the device should be mounted:
mount
root@server1:~# mount
/dev/mapper/server1-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
none on /var/lib/ureadahead/debugfs type debugfs (rw,relatime)
/dev/sda1 on /boot type ext2 (rw)
/dev/sdb1 on /storage type ext4 (rw,_netdev)
root@server1:~#
df -h
root@server1:~# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/server1-root
                       18G  839M   16G   5% /
none                  243M  180K  242M   1% /dev
none                  247M     0  247M   0% /dev/shm
none                  247M   36K  247M   1% /var/run
none                  247M     0  247M   0% /var/lock
none                  247M     0  247M   0% /lib/init/rw
none                   18G  839M   16G   5% /var/lib/ureadahead/debugfs
/dev/sda1             228M   17M  199M   8% /boot
/dev/sdb1              20G  172M   19G   1% /storage
root@server1:~#

0 comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Yang Populer di Dedi Aryadi Al-Jazairi

...organise your mac ★★★★★ 10 Keyboard Shortcuts for Text 10 Quick Mac Tips 10.6 10.7 10.8 10.9 9 to 5 Mac A-Z Glossery - iPhone App Abdullah bin Muhammad As Salafi About Abu ‘Abdil Muhsin bin ‘Abidin as-Soronji Abu Qatadah Accounting Adab Adab Dan Perilaku Administrasi Siistem dan Jaringan Administrasi Staff adsense Ahli Hadits Ahmad Saud AirPlay Akuntan Al-Lajnah Ad-Daimah Lil Buhuts Al-Ilmiah Wal Ifta Al-Quran Amalan Sunnah Anak Anak Muslim Anak Serta Orang Tuanya android Anonymous Anti Virus Apoteker App App Store - News Apple Apple Downloads Apple Gazette Apple Keynotes Apple Matters Apple Pro Apple Support Communities Apple Support Tips Apple Updates apple.stackexchange.com AppleInsider Applelinks AppleNews AppleTV Application Tips applications Apps A-Z Apps Apps Apps Apps on Mac Apps on Mac - Dashboard Widget AppShopper AppShopper.com Aqeedah Aqidah Arab Saudi Arab Saudi' Karawang Artikel ASC Asteroid ATMac Audio Audio dan Video Automator Baby Sitter Bahasa Arab Balikpapan Bandung Bandung Barat Bangkalan Banjarnegara Banking Banten Bantul Banyumas Banyuwangi Batam Batang BBM Beasiswa Pelajar Beby Sitter Bekasi Berita Biaya Gratis Bidah Bidan BindApple Biografi blackberry Blitar Blogger Blogs + Forums Widgets Blora Bogor Bojonegoro Bondowoso Boot Camp Bored of your Mac? Boyolali Brebes Browser Brunei BUMN Business Widgets Calculate + Convert Cataloguer Cerita Cerita Pengajaran Changing the background Check external devices Check spelling and grammar Checker Cheff Cianjur Cibitung Cikarang Cilacap Cilegon Cilengsi Cimahi Cinta Cirebon Cleaning Service Clear Versions History + Auto-Save Cache Data Collect RSS feed URLS from Mail compiz conky Create Ringtones in iTunes Crew CS Cult of Mac Customise your desktop + screen saver Customizing Customizing Your Mac Cydia D3 Daily Tips and Tricks Dajjal Dasar Bermain Backtrack Dashboard Dashboard - Tips+Tricks Dashboard Guidelines Dashboard Widget Dashboard Widgets DashboardCandy DashboardClocks DashboardSearch DashboardWidgets.com Dashcode Delta Silikon Demak Depok Desain Grafis Desktop Desktop Computers Developer Forum Developer News Developer Tips Developer Tools Developer Widgets Development Tools digg Disable restored windows when re-opening specific apps Discussions Disnaker Display a login banner Display a short message Display system stats DKI Jakarta Doa dan Dzikir Dock Does your Mac qualify for free 10.8 upgrade? Download Downloads DR.Muhammad Nur Ihsan Driver Dual Boot OS X 10.7 Lion + OS X 10.8 Mountain Lion Easy Mac Tips Ebook EJIP Email Email + Messaging Widgets Energi Essential Exploitation Tools Extract and Save Mac Application Icons Falsafah Perang ala Sun Tze FAQ Farmasi Fatwa-Fatwa Fatwa-Ulama Financial Services Find a MAC Address in Mac OS X Find iMessage Users + Contacts Finder Fiqh Fiqh Ibadah Fiqh Kontemporer Fiqh Mu'amalah Fiqih Firoq Folders Food Widgets Forensics Formal Free Apps Freeware Furniture games Games Widgets Garut Gas Gatekeeper Get a Homepage - Mac OS X Style Get iTunes track notifications in your Dock Get Mac News Get More Mac and iOS Tips Get quick information with widgets Get RSS Menu Extension for Safari 6 Get Windows Live Hotmail with Mail Get Yahoo Mail with Mail gnome google Google News Gresik Grobogan gSearch - iPhone App Guide Gunung Kidul Guru Hacking Hackint0sh hackintosh Hacks Hadis Hadist Hadits Haji Hartono Jaiz Hasil Seniku Helper Hidden Features Hidden Features in OS X 10.8 Mountain Lion Hong Kong Hongkiat Hotmail How To How to disable the Java web plug-in HRD Ibn Kathir iCal iClarified iCloud iCloud + MobileMe iCloud News iCloud system requirements icon Icon Icons Icons + Screensavers iDesign - iPhone Wallpaper Ied iHackintosh iLife iLife 11 iLife Discussions - GarageBand iLife Discussions - iDVD iLife Discussions - iMovie iLife Discussions - iPhoto iLife Discussions - iTunes iLife Discussions - iWeb iLife News iLife Support Ilmu image Image Capture Imam Imam Abu Hanifah Imam Ghazali Imam Hanbali Iman iMovie Indramayu Info Info CPNS Informal Information Gathering Information Widgets InsanelyMac install driver install kernel install kernel lowlatency install software Install Windows 8 on a Mac Installation International Widgets Internet Internet and Chat Investment Banking iOS 4 iOS Developer News iOS Support iPad iPad - News iPad Support iPhone iPhone - News iPhone 4 iPhone App iPhone SDK iPhone Support iPhone Tips and Tricks iPhoto iPod iPod - News iPod News iPod Support iPod Tips and Tricks - iPhone App iPod touch Irhab iscsi Islam Istri Nabi IT IT Industry Today iTunes iTunes - Latest Movie Trailers iTunes - News iTunes - Top News iTunes App Store iTunes App Store - All New Applications iTunes News iWork Jababeka Jakarta Jaringan Komputer java Java Runtime Environment Jawa Barat Jawa Tengah Jawa Timur Jember Jepara Jlainnya Job Baru job baru brunei Job Baru Malaysia Job Baru Taiwan Job Kontruksi Job Kontruksi Taiwan Jombang Jurnalis Just Added Just Added - iPhone Apps Just Added Downloads Just For Fun Widgets Kalsel Kaltim Karanganyar Karawang Kasir Kata Pengantar Keamanan Komputer Kebumen Kecantikan Kediri Kedokteran Kendal Keputusan Presiden Kerja Kantoran Kesalahan Dalam Solat Kesehatan kext Key Combos Keyboard Shortcuts Keynote Address KIIC Kisah Tauladan Klainnya Klaten Komputer Komuniti Islam Kontruksi Kristologi Kudus Kuliah Kulon Progo Kuningan Kurir Lagu Musik dan Permainan Laki-laki Lamongan Lampung Langsung Launchpad for Mac OS X Snow Leopard Lebak Links Linux Lion Listrik. Logistik Loker Astra LOker Pabrik Lowongan Kerja Lowongan Kerja Guru/Pengajar Lowongan Kerja Pertambangan Lowongan Kerja Rumah Sakit Lowongan Kerja SPG Lowongan Kontruksi Lowongan Kontruksi Taiwan Lowongan Pekerjaan Lumajang Mac Mac 101 Mac 101 - Get One on One with your Mac... Mac App Store Mac App Store - Business Mac App Store - Developer Tools Mac App Store - Education Mac App Store - Entertainment Mac App Store - Finance Mac App Store - Games Mac App Store - Graphics + Design Mac App Store - Health + Fitness Mac App Store - Lifestyle Mac App Store - Medical Mac App Store - Music Mac App Store - News Mac App Store - Photography Mac App Store - Productivity Mac App Store - Reference Mac App Store - Social Networking Mac App Store - Sports Mac App Store - Top 50 Mac Apps Mac App Store - Travel Mac App Store - Utilities Mac App Store - Video Mac App Store - Weather Mac Developer Tips Mac OS X Mac OS X 10.6 Mac OS X 10.7 Lion Mac OS X 10.8 Mountain Lion Mac OS X Applications Mac OS X Things Mac OS X Tips Mac OS X Tips - News Mac OSX Hints Mac OSX Hints - News Mac Quick Tips Mac Support Mac Tip of the Day Mac Tips Mac Tips and Tricks Mac Tips and Tricks - Desktop App Mac Tips Daily Mac|Life Mac101 Mac360 MacApp MacApper MacApps MacFixIt MacintoshOS.com Maciverse MacLion MacNews MacNN MacOSXAudio.com macosxtips.co.uk MacRumors MacSupport MacTech MacTips MacUpdate MacUpdate.com MacVideos MacWidgets Macworld.com - iPhone App Reviews Madiun magazines Magelang Magetan Mahasiswa Mail Maintenance Majalengka Makanan Makna Niat Makrifatullah Malang Malaysia Manager Manajemen Proyek ManiacDev Manufacturing Marketing Masakan Masalah Agama Masalah Rumah Tangga Medis Mekanik Mengenang Ilahi MInyak MM 2100 Mobile MobileMe News ModMyi.com Mojokerto Most Recent Movies + TV Widgets Mualamat Dan Riba Muhammad Thaha Al junayd MUI Mujahideen And Mujahidah Mukjizat Murotal Al-Quran Music Widgets Muslimah Nasehat Nasihat Nasyeed Navigating + Selecting Text in Mac OS X Negara Brunei Negara Canada Negara Taiwan Network Networking + Security Widgets New Application Tips New iPhone Apps news News on Mac News Widgets Nganjuk Ngawi nokia Notification Center Notification Center Tips OB office 2013 Office Boy Oil onemac.net onemac.org Open source OpenDashboard operating system Operator Operator Produksi Organize Your Dock OS OS X OS X - FAQ OS X 10.5 to 10.8 Upgrade OS X 10.7 OS X 10.8 Mountain Lion OS X Basics OS X Daily OS X Lion OS X Mac Tips + Tricks OS X Mavericks OS X Mavericks Tips OS X Mountain Lion OS X Mountain Lion - News OS X Mountain Lion Hompage OS X Mountain Lion Installation Guides OS X Snow Leopard OSX OSX Basics Other OS Pabrik Pacitan Pages Palembang Pamekasan Pandeglang Pangandaran Para Nabi Pasuruan Pati PC Pekalongan Pengumuman Penjaga Orang Jompo Perawat Perawat Panti Jompo Pernikahan Pertambangan & Logam Perusahaan Periklanan Pesanan PJTKI PJTKI Sragen PJTKI Pemalang PJTKI Rembang PJTKI Semarang PJTKI Sukoharjo PJTKI Tegal PLN Podcast Widgets Polisi Khusus Kereta Api Ponorogo Pontianak Portable Computers Ports and Connectors Pos Preambule Preferences Press Release Preview Pria Pro Tip Probolinggo Prof dr. M.M Al-A'Zami proxy PRT Puasa Public Relation Purbalingga Purwakarta Purwodadi Purwokerto Purworejo Putra-Putri Nabi QC Qurban racing Radio + Podcasts Widgets radio islam Rampant Mac - iPhone Wallpapers Rasulullah s.a.w. Remaja Dan Cinta Remote Folder and Synchronization Remove Dock Icons in OS X Mountain Lion Rename Files and Folders Renungan Reporting Tools Resepsionis Reset specific parts of Safari Restart an external device Restoran Riyadhus Shalihin RSS Ruang Keinsafan Rumaha Sakit Rynoedin S1 Safari Safari 5.1 Safari 6 Sahabat Sains dan Al-Quran Salam Redaksi Salatiga Sales Sales Manager Salon Samarinda Sampang Scheduled Startup and Shutdown ScreenCast Online SD and SDXC card slot FAQ Search Widgets Security Sekeretaris Semarang Serang Set up iCloud Set Up Storage Devices Shalat Shaum(Puasa) Shopping Widgets shortcut keyboard Sidoarjo Simple Desks Singapura Siri Siri Tips Situbondo situs islam Sleman SMA SMA/K SMK SMP Snow Leopard Snow Leopard Tips Soccer Softonic - Mac Softonic.com Softpedia Softpedia - Tips + Tricks Softpedia.com Software Solat Sunat Solo Speed Up Your Mac SPG/B Stacks Staff Staff Admin Staff Gudang Staff picks Status Widgets Stop Automatically Updates Storage StorePreview Strategi/Perencanaan Konstruksi Stress testing Subang Sukabumi Sumatera Sumatra Sumedang Sumenep Supervisor Support Surabaya Surakarta suriah Switch 101 switchtoamac.com Syaikh Abdul Aziz bin Baz syaikh Abdullah Bin Abdurrahman Al- Jibrin Syaikh Abdur Razzq 'Afifi Syaikh Abu Usamah Salim bin Ied Al-Hilali Syaikh Ali Hasan Al Halabi Syaikh Dr. Muhammad Musa Alu Nashr Syaikh Ibnu katsir Syaikh Khalid al Husainan Syaikh Kholid bin Abdillah al-Mushlih Syaikh Muhammad bin Abdul Wahhab Syaikh Muhammad bin Jamil Zainu Syaikh Muhammad bin Shalih Utsaimin Syaikh Muhammad Nashiruddin Al-Albani Syaikh Shalih bin Fauzan bin Abdullah Al-Fauzan Syamail Muhammadiyyah syiah.buku-buku sesat Syiakh Masyhur Hasan Salman symbian Syncing with iTunes System Configuration System Preferences Taiwan Take advantage of Quick Look Taking Screenshots Tambun Tangerang tarawih Tasikmalaya Taubat Sahabat Islam Kita Tauhid Tazkiyyatun Nufus Tekhnologi Teknik Mesin Teknisi Temanggung Terminal TextEdit The Apple Blog The Apple Core The Mac Observer The Mac Screencast Guy The MacTips Podcast Theme themes Themes thinkmac.net Time Machine Tip of the Day Tips Tips + Tricks Tips and Support Tips and Trick Tips and Tricks tips ubuntu Tips+Tricks TKI Tki/TKW Sukses TKW tool Top 10 Grossing Apps Top 25 Grossing Apps Top 50 Grossing Apps Top iTunes Tips Top Mac Tips Top10 Mac Tips Top10 Paid Apps Top10 Widgets Top50 Dashboard Widgets TopApps Translates Transportation Travel Widgets Trenggalek tricks TUAW Tuban Tulungagung Tutorial Tutorials tweak Ulama Unix Updates Updating USB 3 devices on Mac - FAQ Use Smart Folders effectively Useful iPhone Shortcuts Ustadz Abdul Hakim Bin Amir Abdat Ustadz Abdullah Taslim Ustadz Abdurrahman bin Abdul Karim At-Tamimi Ustadz Abdurrahman Thayyib Ustadz Abu Abdillah al-Atsari Ustadz Abu Ishaq Muslim Al-Atsari Ustadz Badrussalam Ustadz Firanda Ustadz Hamzah Rifa’i Ustadz Khoilid Abdus Shomad Ustadz Yazid bin Abdul Qadir Jawas Ustadz Zainal Abidin Syamsudin utilities VersionTracker Video Videos Vulnerability Assessment Waiter Waitress wallpaper Wallpaper Doa Wanita Want More Mac Tips ? Warehouse Warisan Wartawan Wates Web Apps web Developer Web Programmer WebApps Webcam Widgets wep cracker whatsapp Which Mac is Worth Your Investment? widget Widgets Windows windows 7 windows 8 windows xp wireless Wonogiri Wonosari Wonosobo Wudhu www.freemacware.com Yahoo Yogyakarta youtube YouTube Videos Yusuf bin Abdullah bin Yusuf Al-Wabil MA Zakat ZDNet  Navigation Mac