بررسی فضاهای هارددیسک در سرور لینوکس

بررسی فضاهای هارددیسک در سرور لینوکس

بررسی فضاهای هارددیسک در سرور لینوکس

مقدمه

گاها نیاز است تا فضای خالی و یا فضای استفاده شده در هارد بصورت دقیق برسی شود. این موضوع ممکن است دلایل متقاوتی داشته باشد، مانند: پر شدن فضای دیسک، برسی میزان فضای اشغال شده توسط یک یا چند دایرکتوری و … که در برخی مواقع که فضای هارد سرور پر شده و سرور از سرویس دهی خارج شده باید این پوشه ها مدیریت و در صورت عدم نیاز حذف گردند. در این مقاله با دستورات و سوییچ های مختلف جهت برسی میزان فضای دیسک، فایل و پوشه ها اشنا می شوید تا در زمان نیاز از ان استفاده نمایید.

بررسی فضاهای هارددیسک در سرور لینوکس
بررسی فضاهای هارددیسک در سرور لینوکس

دستوراتی که جهت برسی فضای دیسک آموزش داده میشود :

  • دستور df : میزان فضای استفاده شده در دیسک را نشان می دهد.
  • دستور du : میزان فضای استفاده توسط پوشه و یا فایل مشخض شده را نشان می دهد.

برسی فضای دیسک با استفاده از دستور df

از دستور df بسیار استفاده خواهید کرد ! پس سعی کنید این دستور و سوییچ های ان را بخاطر بسپارید. دستور df بدون سوییچ نیز فضای مصرف شده در هارد دیسک و دیگر حافظه های mount شده را نمایش میدهد، اما به دلیل نمایش اطلاعات به بایت تحلیل ان کمی سخت خواهد بود.

دستور:

خروجی:

برای نمایش قابل فهم اطلاعات میتوانید از سوییچ H و یا h استفاده نمایید. این دو سوییچ تقریبا تفاوت خاصی ندارند. در صوییچ H فضا تقسیم بر ۱۰۰۰ (فرمت بلاک در لینوکس) شده و در سوییچ h نیز فضا بر ۱۰۲۴ تقسیم میشود. برای برسی تفاوت این دو، دستور زیر را جهت مشاهده خروجی وارد نمایید:

دستور :

و

خروجی :

از دستور df میتوانید برای چک کردن یک فایل سیستم دلخواه نیز استفاده نمایید. برای این منظور ادرس فایل سیستم مورد نظر را پس از دستور df وارد میکنید.

برای مثال برای چک کردن درایو dev/vda1/ دستور را به شکل زیر وارد نمایید.

دستور :

خروجی :

برای نمایش نوع فایل سیستم های موجود از سوییچ T استفاده نمایید.

دستور :

خروجی :

بخاطر داشته باشید برای داشتن یک خروجی قابل درک میتوانید سوییچ ها را با ترکیب کردن استفاده نمایید.

دستور :

خروجی :

و در آخر نیز برای استفاده از راهنمای این ابزار دستور زیر را وارد نمایید.

دستور :

یا :

برسی فضای استفاده شده توسط یک دایرکتوری و یا فایل با استفاده از دستور du

دستور du یکی از مهم ترین دستوراتی است که باید بخاطر سپرده شود. با استفاده از این دستور میتوانید فایل و یا دایرکتوری هایی که فضای سنگینی را اشغال کرده اند را پیدا کنید. شمای کلی دستور du به شکل زیر میباشد :

دستور به تنهایی اطلاعات فضای مصرفی دایرکتوری جاری را به ما میدهد.

دستور :

خروجی :

در خروجی بالا فیلد اول مقدار کیلوبایت و در خروجی دوم نیز نام فایل یا دایرکتوری نمایش داده میشود. برای نمایش میزان فضای یک یا چند دایرکتوری میتوانید از دستور زیر استفاده نمایید.

دستور :

در دستور بالا جهت نمایش خروجی قابل فهم از سوییچ h استفاده شده است. دستور بالا ابتدا حجم پوشه ذکر شده و سپس تمامی فایل های درون ان را نشان میدهد. ممکن است به علت تعداد فایل های زیاد خروجی شما بسیار زیاد باشد. برای این مورد میتوانید از سوییچ s استفاده نمایید تا فقط پوشه ها و میزان فضای اشغال شده ان نمایش داده شود.

دستور :

خروجی :

برای نمایش تمامی پوشه ها و فایل ها از سوییچ a استفاده نمایید. در این ابزار شما امکان استفاده از wildcard را دارید. برای مثال جهت نمایش تمامی حجم تمامی پوشه های زیر شاخه میتوانید از دستور زیر استفاده نمایید.

دستور :

خروجی :

برای مثال بصورت ترکیبی و با استفاده از پایپ و دستورات sort و head میتوانید ۱۰ دایرکتوری که بیشترین فضا را دارند را پیدا کنید.

دستور :

خروجی :

برای مشاهده راهنمای دستور du میتوانید man du یا du –help را در ssh وارد نمایید تا بیشتر با این ابزار و امکانات ان اشنایی پیدا کنید.


گفتار پایانی

در مقاله بالا نحوه استفاده از دستور du و dh بصورت مختصر و کاربردی در سرور آموزش داده شد. دستورات ذکر شده در این مقاله فقط برای شما تولید گزارش میکند. برای عملیاتی شدن این دستورات میتوانید یک ترکیب از دستورات ایجاد نمایید تا بصورت عملیاتی فایل هایی که حجیم هستند بصورت خودکار حذف شود. هرچند اگر در ابتدای راه هستید توصیه میشود این عملیات را بر روی یک سرور فعال پیاده سازی نکنید. در مقالات اینده این دستورات بصورت عملیاتی آموزش داده خواهد شد تا با یک دستور فایل هایی که دارای حجم و پسوند خاصی هستند بصورت خودکار حذف شوند. در صورتی که در مورد این مقاله سوالی داشتید در بخش نظرات مطرح نمایید.

 

 

 


  • 0

راه اندازی MySQL Replication در Centos, RHEL, Fedora

در این آموزش قصد راه اندازی همتاسازی (replication) را بین دو سیستم mysql را داریم.

به بیان ساده، همتاسازی عبارت است از تکرار محتوا و فعالیت های یک پایگاه داده در سیستم های دیگر. این قابلیت در سیستم های grid و همچنین سیستم های با قابلیت HA کاربرد دارد.

ابتدا معماری شبکه که قصد راه اندازی این سرویس را داریم را باید مشخص کنیم. ما در اینجا دو سیستم که سیستم عامل centos نسخه 6 بر روی آنها نصب شده است استفاده میکنیم. این سیستم ها میتواند به صورت مجازی نیز نصب شده باشد. تنظیمات سیستم ها به صورتزیر میباشد

سیستم اصلی(master):

ip: 192.168.100.1

سیستم جایگزین(Slave):

ip: 192.168.100.2

  • مرحله اول: تنظیم سیستم اصلی

در این مرحله سرویس mysql را نصب کرده و قابلیت همتاسازی را در آن فعال میکنیم.

نصب سرویس mysql بر روی سیستم اصلی

نصب سرویس mysql به سادگی میتواند توسط دستور YUM انجام شود.

# yum install mysql-server mysql

تنظیمات MySQL در سیستم اصلی

فایل my.cfg را با یک ویرایشگر باز کنید:

# nano /etc/my.cnf

خطوط زیر را در زیر قسمت [mysqld] اضافه کنید (نام پایگاه داده مورد نظر خود را به جای database قرار دهید):

server-id = 1
binlog-do-db=database
log-bin = mysql-bin

سرویس mysql را ریستارت کنید

# /etc/init.d/mysqld restart

برای اینکه دو پایگاه در شروع یکی باشند، از پایگاه داده اصای خود یک دامپ تهیه کنید:

ابتدا به پایگاه داده خود وارد شوید:

# mysql -u root -p
mysqldump -u root -p --all-databases --master-data > /root/dbdump.db

این فایل را با حافظه فلش یا با دستور زیر به سیستم مقصد منتقل کنید:

scp /root/dbdump.db sanay_specu@192.168.100.2:/root/

به سرویس mysql خود وارد شده و تنظیمات زیر را انجام دهید:

فعال سازی قابلیت همتاسازی برای کاربر سیستم ثانیه(این کاربر، یک کاربر تنها مختص mysql بوده و نمیتواند با آن بر روی سیستم کار کرد)

مقدار slavepass را با نام کاربری مورد نظر جایگزین کنید.

مقدار slave_user را با نام کاربری مورد نظر جایگزین کنید.
مقدار 192.168.100.2 را با IP سیستم ثانویه جایگزین کنید.

GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'192.168.100.2' IDENTIFIED BY 'slavepass';
FLUSH PRIVILEGES;
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;

 

خروجی این مرحله به صورت زیر خواهد بود:

SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 |      320 |              |                  |
+------------------+----------+--------------+------------------+

در این قسمت باید مقدار مشخصه File و Position را یادداشت کنیم(این مقادیر در سیستم ثانویه استفاده خواهد شد).

دستور زیر را در انتها وارد کنید و از سرویس mysql خارج شوید:

UNLOCK TABLES;
  • تنظیمات MySQL در سیستم ثانویه

فایل my.cfg را باز کنید:

# nano /etc/my.cnf

پایگاه داده ای را که در سیستم اصلی دامپ گرفته بودید را در سیستم ثانیه وارد کنید:

# mysql -u root -p < /root/dbdump.db

خط زیر را در زیر قسمت [mysqld] اضافه کنید

server-id=2

سرویس mysql را ریستارت کنید:

# /etc/init.d/mysqld restart

در نسخه های بعد از 5 سرویس mysql، تنظیمات فایل my.cfg برای تنظیمات همتاسازی در نظر گرفته نمیشود و باید با دستور GHANGE MASTER TO این عمل انجام شود.

در سرویس mysql وارد شوید و دستورات زیر را وارد کنید:

مقادیر مشخص شده را با مقادیری که در سیستم اصلی یادداشت کرده بودید جایگزین کنید:

STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='192.168.100.1',
	MASTER_USER='slave_user',
	MASTER_PASSWORD='slavepass',
	MASTER_LOG_FILE='mysql-bin.000004',
	MASTER_LOG_POS=320;

همتاسازی را فعال کنید:

START SLAVE;
  • تست کارکرد

دستور زیر را در mysql وارد کنید:

SHOW SLAVE STATUS\G;

خروجی باید مشابه زیر باشد:

*************************** 1. row ***************************
             Slave_IO_State: Waiting for master to send event
                Master_Host: 192.168.100.1
                Master_User: slave_user
                Master_Port: 3306
              Connect_Retry: 60
            Master_Log_File: mysql-bin.000003
        Read_Master_Log_Pos: 320
             Relay_Log_File: mysqld-relay-bin.000003
              Relay_Log_Pos: 235
      Relay_Master_Log_File: mysql-bin.000003
           Slave_IO_Running: Yes
          Slave_SQL_Running: Yes
            Replicate_Do_DB:
        Replicate_Ignore_DB:
         Replicate_Do_Table:
     Replicate_Ignore_Table:
    Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
                 Last_Errno: 0
                 Last_Error:
               Skip_Counter: 0
        Exec_Master_Log_Pos: 314
            Relay_Log_Space: 235
            Until_Condition: None
             Until_Log_File:
              Until_Log_Pos: 0
         Master_SSL_Allowed: No
         Master_SSL_CA_File:
         Master_SSL_CA_Path:
            Master_SSL_Cert:
          Master_SSL_Cipher:
             Master_SSL_Key:
      Seconds_Behind_Master: 0

برای تست کارکرد، یک مقدار جدید به یکی از جداول پایگاه داده خود در سیستم اصلی  اضافه کنید و در سیستم ثانویه میتوانید مقدار اضافه شده را مشاهده کنید.


  • توجه

پورت 3306 را در هر دو سیستم باید باز کنید(دستورات زیر را وارد کنید):

iptables -I INPUT -p udp -m state --state NEW --dport 3306 -j ACCEPT 
iptables -I INPUT -p tcp -m state --state NEW --dport 3306 -j ACCEPT 

در هنگام تغییر فایل کانفیگ my.cfg به محل قرار دادن کدهای جدید دقت کنید. معمولا قسمت اول شامل تگ [mysqld] است. اگر در محل نامناسب قرار گیرد، سرویس mysql خطایی نخواهد داد، اما همتاسازی کار نخواهد کرد.

برگرفته شده از luxos.blog.ir


  • 0

آموزش نصب Apache، MySQL و PHP بر روی سیستم عامل های لینوکس

ر این مقاله نحوه نصب وب سرور آپاچی (آخرین نسخه)، بانک اطلاعاتی مای اس کیو ال (آخرین نسخه) و پی اچ پی (آخرین نسخه) را به همراه ماژول های آن بر روی سیستم عامل های RHEL 6.4/6.3/6.2/6.1/6.0/5.9/5.8/5.6, CentOS 6.4/6.3/6.2/6.1/6.0/5.9/5.8/5.6/6.0/6.5/6.6/6.7  و  Fedora 12,13,14,15,16,17,18,19با استفاده از مخزن Remi و دستور YUM آموزش خواهیم داد.

Install LAMP

آپاچی (Apache)  چیست؟
آپاچی یک وب سرور HTTP متن باز رایگان است که بر روی تمامی توزیع های لینوکس و همچنین سیستم عامل ویندوز قابل نصب و اجراست. وب سرور آپاچی توانایی سرویس دهی به صفحات برنامه نویسی شده (.htm .php .pl .cgi .js) و موارد بسیاری دیگر را دارد. بر اساس آمارهای به دست آمده در اسفند ماه 1391 حدود65.24% دامنه های وب سایتهای توسط آپاچی سرویس دهی می شوند.

ما اس کیو ال (MySQL) چیست؟
MySQL یکی از محبوب ترین رابطهای بانک های اطلاعاتی در جهان محسوب می شود که بر روی هر نوع سروری قابل اجراست توانایی دادن دسترسی چندین کاربر به چندین بانک اطلاعاتی را داراست. MySQL به همراه Apache اجرا می شود.

پی اچ پی (PHP) چیست؟
یک زبان برنامه نویسی سرور محور متن باز رایگان است که از بهترین گزینه ها جهت گسترش صفحات وب می باشد. این مفسر قابلیت تولید سایتهای پویا (Dynamic) را داراست.

ماژول های PHP
در این آموزش قصد داریم ماژول های زیر را نصب کنیم:

MySQL (php-mysql) – A extension for PHP applications that use MySQL databases. PostgreSQL (php-pgsql) – A extension for PostgreSQL database for PHP. MongoDB (php-pecl-mongo) – A driver for MongoDB database. SQLite (php-sqlite) – Extension for SQLite Database Engine. Memcache (php-pecl-memcache) – Memcached caching daemon. Memcached (php-pecl-memcached) – Memcached caching daemon. GD (php-gd) – GD extension for PHP application to serve graphics. XML (php-xml) – XML Parser for PHP applications. MBString (php-mbstring) – Mbstring extension is used to handle multi-byte string in PHP applications. MCrypt (php-mcrypt) – A Mcrypt library for PHP scripts. APC (php-pecl-apc) – APC module used to optimize and cache PHP code. CLI (php-cli) – Command-line interface for PHP. PEAR (php-pear) – Application Repository framework for PHP. PDO (php-pdo) – Database access module for PHP applications.

مرحله اول: نصب دایرکتوری مخزن Remi

## Install Remi Repository on Fedora 19, 18, 17, 16, 15 ## rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm ## Fedora 19 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-19.rpm ## Fedora 18 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-18.rpm ## Fedora 17 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-17.rpm ## Fedora 16 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-16.rpm ## Fedora 15 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-15.rpm ## Fedora 14 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-14.rpm ## Fedora 13 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-13.rpm ## Fedora 12 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-12.rpm ## Install Remi & Epel Repository on RHEL/CentOS 6.4-6.0 – 32 Bit## rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm ## Install Remi & Epel Repository on RHEL/CentOS 6.4-6.0 – 64 Bit ## rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm ## Install Remi Repository on RHEL/CentOS 5.9-5.0 – 32 Bit ## rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm ## Install Remi Repository on RHEL/CentOS 5.9-5.0 – 64 Bit ## rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

مرحله دوم: نصب Apache، MySQL و PHP

## Installing on Fedora 12, 13, 14, 15, 16, 17, 18, 19 ## # yum –enablerepo=remi install httpd mysql mysql-server php php-common ## Installing on RHEL/CentOS 5-6 ## # yum –enablerepo=remi,remi-test install httpd mysql mysql-server php php-common
مرحله سوم: نصب ماژول های PHP

## Installing on Fedora 12, 13, 14, 15, 16, 17, 18, 19 ## # yum –enablerepo=remi install php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo ## Installing on RHEL/CentOS 5-6 ## # yum –enablerepo=remi,remi-test install php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo

مرحله چهارم: فعال/غیرفعال کردن سرویسهای Apache و MySQL

## Enable Apache and MySQL on Run-Levels ## # chkconfig –levels 235 httpd on # chkconfig –levels 235 mysqld on ## Apache Commands ## # /etc/init.d/httpd start # /etc/init.d/httpd stop # /etc/init.d/httpd status ## MySQL Commands ## # /etc/init.d/mysqld start # /etc/init.d/mysqld stop # /etc/init.d/mysqld status

مرحله پنجم: کنترل نصب Apache، MySQL و PHP
1-    یک فایل با نام phpinfo.php بسازید، موارد زیر را درون آن قرار دهید و در مسیر /var/www/html/phpinfo.php ذخیره کنید.<php phpinfo (); ?>

2-    حالا بوسیله مرورگر خود آدرس http://localhost/phpinfo.php را باز نمائید. خروجی شما مانند صفحه زیر خواهد بود.

Install LAMP

در صورتی که با مشکلی مواجه شدید در تماس گرفتن با ما تردیدی نکنید.


آخرین دیدگاه‌ها

    دسته‌ها