۵ روش برای افزایش سرعت بازسازی و Rebuild درایوهای نرم‌افزاری RAID

1.7kviews

ایجاد، تایید و بازسازی RAID های نرم‌افزاری برای درایوهایی که سایز کوچکی دارند مشکلی ندارد، اما برای مواقعی که اطلاعات شما زیاد هستند و یا از دیسک‌های حجیم برای این کار استفاده می‌کنید، این عمل ممکن است تا روزها نیز ادامه داشته باشد، همیشه به یاد داشته باشید که شما می‌توانید سرعت انجام این کار برای درایوهای RAID 0/1/5/6 را افزایش دهید.
اخیرا یک NAS با ۵ هارد ۴ ترابایتی را در یک محیط RAID 6 برای یک مشتری پیاده‌سازی کردم، با زدن دستور cat /proc/mdstat وضعیت درایو md0 در حالت فعال و بازیابی اطلاعات بود، سرعت این بازیابی حدود ۴۰۰۰K/sec بود که حدود ۲۲ ساعت دیگر به پایان می‌رسید و من زمان کافی برای این کار نداشتم و نیازمند پایان یافتن آن به سریعتر حالت ممکن بودم.

روش اول:

فایل /proc/sys/dev/raid/speed_limit_min حاوی تنظیماتی است که مشخص می‌کند در زمان‌هایی که درایو فعالیتی در حال انجام دارد با چه سرعتی عملیات بازسازی را انجام دهد. سرعت بر مبنای کیلوبایت بر ثانیه و به ازای هر دستگاه محاسبه می‌شود و نه درایو RAID. مقدار پیش‌فرض ۱۰۰۰ است.
فایل /proc/sys/dev/raid/speed_limit_max حاوی تنظیماتی است که مشخحص می‌کند در زمانهایی که درایر فعالیتی ندارد با سرعت درج شده در این فایل عملیات بازسازی را انجام می‌دهد.

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

# sysctl dev.raid.speed_limit_min
# sysctl dev.raid.speed_limit_max

نمونه‌های خروجی:

dev.raid.speed_limit_min = 10000
dev.raid.speed_limit_max = 20000

نکته: این روش‌ها صرفا برای بازیابی درایوهای RAID نرم‌افزاری لینوکس و افزایش سرعت آن‌ها کاربرد دارد، هر چند تنظیمات این موارد مشکلی برای سیستم ایجاد نمی‌کند اما میزان فشار بر سرور و مصرف منابع CPU و RAM را به میزان چشمگیری افزایش می‌دهد.

برای افزایش سرعت:

echo value > /proc/sys/dev/raid/speed_limit_min

یا

sysctl -w dev.raid.speed_limit_min=value

در این مثال مقدار را ما بر روی ۵۰۰۰۰K/Sec قرار می‌دهیم:

# echo 50000 > /proc/sys/dev/raid/speed_limit_min

یا

# sysctl -w dev.raid.speed_limit_min=50000

اگر می‌خواهید تنظیمات پیش‌فرض را تغییر دهید، این دو مقدار را در فایل /etc/sysctl.conf وارد نمائید.

#################NOTE ################
## You are limited by CPU and memory too #
###########################################
dev.raid.speed_limit_min = 50000
## good for 4-5 disks based array ##
dev.raid.speed_limit_max = 2000000
## good for large 6-12 disks based array ###
dev.raid.speed_limit_max = 5000000

روش دوم:

تنظیمات readahead (پیش خوان در سکتورهای ۵۱۲ بایتی) را به ازای هر درایو افزایش دهید:

# blockdev --setra 65536 /dev/mdX
## Set read-ahead to 32 MiB ##
# blockdev --setra 65536 /dev/md0
# blockdev --setra 65536 /dev/md1

روش سوم:

مقدار stripe_cache_size را برای RAID5 یا RAID6 تنظیم کنید.
این تنظیم فقط برای RAID 5/6 امکان‌پذیر است و بهره‌وری این درایوها را بین ۳ تا ۶ برابر افزایش می‌دهد. مقدار مندرج بلاک‌های سایز کش را برای ذخیره اطلاعات و خواندن اطلاعات در حافظه رم ذخیره می‌کند، مقدار پیش‌فرض ۲۵۶ است و مقادیر ۱۷ تا ۳۲۷۶۸ قابل تنظیم است. هر چند افزایش این مقدار تاثیر بسزایی در سرعت این درایوها دارد اما میزان بسزایی از RAM سرور را اشغال می‎کند، تنظیم این مقدار به عدد بسیار زیاد باعث به وجود آمدن مشکل “out of memory” می‎شود.

فرمول محاسبه:

memory_consumed = system_page_size * nr_disks * stripe_cache_size

مقدار رم مصرف شده = حجم system page * تعداد دیسک * stripe_cache_size
برای تنظیم این مقدار بر روی ۱۶MiB برای درایو md0:

# echo 16384 > /sys/block/md0/md/stripe_cache_size

برای تنظیم این مقدار بر روی ۳۲MiB برای درایو md3:

# echo 32768 > /sys/block/md3/md/stripe_cache_size

روش چهارم:

غیر فعال کردن NCQ برای تمامی دیسک ها
دستور زیر NCQ را برای تمامی دیسک ها /dev/sda, /dev/sdb و .. غیر فعال میکند:

for i in sd[abcde]
do
echo 1 > /sys/block/$i/device/queue_depth
done

روش پنجم:

مقدار Bitmap زمان بازسازی دیسک ها را در صورت خراب شدن و یا در صورت جابجایی دییک ها بهینه می‌کنند.
با استفاده از دستور زیر آن را فعال کنید:

# mdadm --grow --bitmap=internal /dev/md0

پس از اتمام rebuild آن را با دستور زیر غیرفعال کنید:

# mdadm --grow --bitmap=none /dev/md0

نتیجه:

سرعت من از ۴k به ۵۱k افزایش یافت:

cat /proc/mdstat

نمونه خروجی:

 

Personalities : [linear] [raid0] [raid1] [raid10] [raid6] [raid5] [raid4] [multipath]
md5 : active raid1 sde2[2](S) sdd2[3](S) sdc2[4](S) sdb2[1] sda2[0]
۵۳۰۰۴۸ blocks [2/2] [UU]

md0 : active raid6 sde3[4] sdd3[3] sdc3[2] sdb3[1] sda3[0]
۵۸۵۵۸۳۶۸۰۰ blocks level 6, 64k chunk, algorithm 2 [5/5] [UUUUU]
[============>........] resync = 61.7% (1205475036/1951945600) finish=242.9min speed=51204K/sec

 

برای مشاهده real-time مانند یک حرفه ای با دستور زیر آن را بررسی کنید:

# watch -n1 cat /proc/mdstat

نمونه خروجی:

 

Rebuild-raid01

 

تصویر۱: وضعیت بهره‌وری و بهینه‌سازی درایو raid6 برای /dev/md2

دستور زیر گزارش درایو /dev/md2 را از نظر وضعیت و سلامتی به شما می‌دهد:

# mdadm --detail /dev/md2

Rebuild-raid02

تصویر دوم: دریافت اطلاعات در خصوص درایو md2 raid array

 

همچنین با دستور iostat نیز می‌توانید وضعیت فعلی دیسک‌ها را مشاهده کنید:

watch iostat -k 1 2
watch -n1 iostat -k 1 2

 

Rebuild-raid03

تصویر سوم: میزان مصرف منابع CPU و اطلاعات I/O برای درایو ها و پارتیشن‌ها

نصب Postfix Dovecot ClamAVRoundcube و Fail2ban روی سرور لینوکس با استفاده از iRedmail

2.9kviews

در هفته‌های گذشته درخواست‌هایی را در خصوص ارائه آموزش نصب و راه‌اندازی سرور ایمیل امن از کاربران و بازدید کنندگان خود دریافت کردیم.

سرورهای مجازی ایمیل لینوکس به همراه وب میل اغلب برای کسب و کارهای کوچک که تمایل دارند خودشان سرور ایمیل داشته باشند و یا افرادی که نیاز به ارسال ایمیل‌های تعداد بالا دارند ممکن است کمی چالش برانگیز باشد.

از آن‌جایی که برای داشتن یک سرور ایمیل بهینه و امن لازم است نرم‌افزارهای متعددی نصب و نگهداری و تنظیم شوند، درصد بروز خطا و یا عملیاتی نشدن این نوع پروژه‌ها خصوصا در بلند مدت زیاد است.

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

حال به اصل موضوع می‌پردازیم.

در این مقاله نحوه نصب کلیه این سرویس‌ها در قالب نرم‌افزار iRedmail را آموزش خواهیم داد، در مقاله بعدی آموزش حرفه‌ای‌تر برای نصب تک‌تک موارد ذیل را بدون نیاز به این نرم‌افزار آموزش خواهیم داد.

بسته‌های مورد نیاز جهت داشتن یک سرور ایمیل امن و آنلاین به شرح ذیل است:

 

نام

توضیحات

Postfix

Mail Transfer Agent (MTA)
عامل انتقال ایمیل

Dovecot

POP3, IMAP and Managesieve server
عامل اتصال کاربری

ApacheNginx

Web server
سرویس دهنده وب

OpenLDAPldapd(8)

LDAP server, used for storing mail accounts – optional
اتصال به Active Directory و نرم‌افزارهای مشابه (اختیاری)

MySQLMariaDBPostgreSQL

SQL server used to store application data. Could be used to store mail accounts too
بانک اطلاعاتی جهت ذخیره‌سازی اطلاعات و حساب‌های کاربری

Amavisd-new

Interface between Postfix and SpamAssassin, ClamAV. it calls SpamAssassin and ClamAV for content-based spam/virus scanning
رابط بین Postfix و SpamAssassin و آنتی ویروس ClamAV برای اسکن محتوای ایمیل‌ها از نظر ویروس و هرزنامه

SpamAssassin

Content-based spam scanner
اسکن محتوای ایمیل‌ها برای شناسایی هرزنامه‌ها

ClamAV

Virus scanner
اسکن ویروس

Roundcube

Webmail )
نرم‌افزار مدیریت ایمیل تحت وب به زبان پی‌اچ‌پی

SOGo Groupware

A groupware which provides calendar (CalDAV), contact (CardDAV), tasks and ActiveSync services
نرم‌افزارهای جانبی جهت پشتیبانی از تقویم، مدیریت مخاطبان، فعالیت‌ها و ActiveSync

Fail2ban

Scans log files and bans IPs that show the malicious signs — too many password failures, seeking for exploits, etc
بررسی فایل‌های log جهت مسدودسازی IP ها و اکانت‌هایی که ورود ناموفق داشته‌اند.

Awstats

Apache and Postfix log analyzer
نرم‌افزار تحلیل و آمار سرویس‌دهنده وب و ارسال‌کننده ایمیل

نصب تمامی این نرم‌افزارها به صورت تکی و اعمال تنظیمات بر روی آن‌ها نیازمند دقت، تجربه و اطلاعات کافی است.
البته نرم‌افزار iRedMail با ارائه یک اسکریپت این مشکل را تا حدی برطرف نموده است.

لازم است یک سرور Minimal که صرفا SSH Server بر روی آن نصب است در اختیار داشته باشید، به منظور عدم وجود اختلال در نصب بهتر است هیچ برنامه‌ای بر روی این سرور نصب نشده باشد.

1- بررسی Hostname

سرور باید حتما دارای یک نام FQDN باشد. جهت مشاهده:

$ hostname -f
mx.zagrio.com

در RHEL/CentOS/SL نسخه ۶ در فایل زیر:

/etc/sysconfig/network
HOSTNAME=mx.zagrio.com

در نسخه ۷ در فایل

/etc/hostname
mx.zagrio.com

و در فایل
/etc/hosts جهت اتصال IP ها به نامهای سرور

127.0.0.1 mx.zagrio.com mx localhost localhost.localdomain

پس از تغییر با دستور زیر بررسی کنید:

$ hostname -f
mx.zagrio.com

2- غیرفعال‌سازی SELinux در Centos/RHEL

فایل /etc/selinux/config را ویرایش و مقدار ذیل را جایگزین کنید:

SELINUX=disabled

و برای غیرفعال‌سازی فوری آن بدون نیاز به ری‌استارت دستور زیر را اجرا کنید:

# setenforce 0

3- فایل نصب در زمان نگارش این مقاله به شرح ذیل است، می‌توانید از صفحه دانلود آخرین نسخه را دانلود کنید و با دستورات ذیل آن را نصب نمائید:

# wget https://bitbucket.org/zhb/iredmail/downloads/iRedMail-0.9.5-1.tar.bz2
# cd /root/
# tar xjf iRedMail-0.9.5-1.tar.bz2
# cd /root/iRedMail-x.y.z/
# bash iRedMail.sh<br />

 

4- سپس مراحل نصب را مطابق تصاویر زیر به پیش ببرید.

 

 

5- در این قسمت محل ذخیره‌سازی ایمیل‌ها را مشخص کنید.

 

6- در این مرحله سرویس‌دهنده وب را انتخاب نمائید.

 

7- در این قسمت بانک اطلاعاتی مورد نظر خود را انتخاب کنید.

 

8- در این قسمت باید نام دامنه‌ای که مد نظرتان است را وارد نمائید.

 

9- در این قسمت رمز عبور postmaster خود را وارد نمائید. با این ایمیل به عنوان می‌توانید سیستم را مدیریت نمائید.

 

 

10- نرم‌افزارهای جانبی مورد نیاز خود را انتخاب نمائید.

 

11- در این قسمت اطلاعات نهایی را مشاهده و تایید نمائید تا عملیات نصب آغاز شود.

 

12- پس از نصب حتما موارد زیر را بررسی کنید.

13- فایل /root/iRedMail-x.y.z/iRedMail.tips دارای محتوای مورد نیاز شما در خصوص مسیر URL ها، مسیر دسترسی مدیریت، مسیر LOG ها و .. است که بایدحتما توسط شما مطالعه شود.

14- تنظیمات DNS خود را انجام دهید.

15- اکیدا پیشنهاد می‌شود به منظور حفظ امنیت ارتباطات خود یک گواهینامه امنیتی SSL برای خود تهیه و نصب نمائید.

16- مسیر ایمیل تحت وب: https://your_server/mail

17- مسیر پنل مدیریت: httpS://your_server/iredadmin

18- مسیر آمارگیر: httpS://your_server/awstats/awstats.pl?config=web (or ?config=smtp for SMTP traffic log)

CentOS 7: آموزش نصب Apache ،MariaDB و PHP

4.4kviews

در این مقاله نحوه نصب وب سرور آپاچی (آخرین نسخه)، بانک اطلاعاتی ماریا دی‌بی (آخرین نسخه) و پی‌اچ‌پی (آخرین نسخه) را به همراه ماژول‌های آن روی سیستم عامل‌های CentOS 7 با استفاده از مخزن EPEL و دستور YUM آموزش خواهیم داد.

Install-LAMP

آپاچی (Apache) چیست؟

آپاچی یک وب سرور HTTP متن باز رایگان است که روی تمامی توزیع‌های لینوکس و همچنین سیستم عامل ویندوز قابل نصب و اجراست. وب سرور آپاچی توانایی سرویس‌دهی به صفحات برنامه‌نویسی شده (.htm .php .pl .cgi .js) و موارد بسیاری دیگر را دارد. بر اساس آمارهای به دست آمده در اسفند ماه ۱۳۹۱ حدود ۶۵٫۲۴% دامنه‌های وب‌سایت‌های توسط آپاچی سرویس‌دهی می‌شوند.

ماریا دی بی (MariaDB) چیست؟

MariaDB یکی از محبوب‌ترین رابط‌های بانک‌های اطلاعاتی در جهان محسوب می‌شود که روی هر نوع سروری قابل اجراست توانایی دادن دسترسی چندین کاربر به چندین بانک اطلاعاتی را دارد. MariaDB نام جدید MySQL برای سرورهای CentOS 7 است.

پی اچ پی (PHP) چیست؟

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

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

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

 

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

yum -y install mariadb-server mariadb httpd php

مرحله سوم: نصب ماژول های PHP

yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel mod_ssl mod_security php-ioncube-loader php-mcrypt php-suhosin php-xml php-magickwand libexif php-imap openssl zip zlib

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

## Enable Apache and MariaDB on Run-Levels ##
## Apache Commands ##
systemctl start httpd.service
systemctl enable httpd.service
## MariaDB Commands ##
systemctl start mariadb.service
systemctl enable mariadb.service

مرحله پنجم: تنظیمات MariaDB

با استفاده از دستور زیر نسبت اعمال تنظیمات MariaDB اقدام کنید.

mysql_secure_installation

مرحله ششم: تنظیمات Firewall

با استفاده از دستورات زیر پورت ۸۰ و ۴۴۳ که مربوطه به HTTP و HTTPS است را در فایروال آزاد می‌کنیم.

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload

مرحله هفتم: تنظیمات Hostname

با استفاده از دستور زیر نام سرور را مطابق نیاز خود تنظیم کنید.

hostnamectl set-hostname centos7.zagrio.com

مرحله هشتم: کنترل نصب Apache ،MySQL و PHP

۱- یک فایل با نام phpinfo.php بسازید، موارد زیر را درون آن قرار دهید و در مسیر /var/www/html/phpinfo.php ذخیره کنید.

<php
phpinfo ();
?>

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

Install LAMP

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

اسکریپت تهیه نسخه پشتیبان از فایل‌ها و بانک‌های اطلاعاتی در SSH

اسکریپت تهیه نسخه پشتیبان از فایل‌ها و بانک‌های اطلاعاتی در SSH

1.5kviews

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

اسکریپت تهیه نسخه پشتیبان از فایل‌ها و بانک‌های اطلاعاتی در SSH

در سرورهای لینوکسی (هاست لینوکس) می‌توانید با استفاده از این اسکریپت در SSH به اهداف ذیل دست پیدا کنید:

  • تهیه نسخه پشتیبان از پوشه‌ها و فایل‌های مورد نظر
  • امکان عدم تهیه نسخه پشتیبان از پوشه‌هایی مشخص درون فایل‌های فوق
  • فشرده‌سازی نسخه پشتیبان
  • تغییر نام فایل نسخه پشتیبان به همراه متغیرهایی همچون تاریخ و ساعت
  • تهیه نسخه پشتیبان از بانک اطلاعاتی MySQL
  • ارسال نسخه پشتیبان به سرور FTP

ابتدا فایل اجرایی را با دستور زیر ایجاد نمائید.

[root@zagrio ~]# nano backup.sh

محتوای فایل: (موارد قرمز رنگ می بایست مطابق نیاز اصلاح شود)

#!/bin/sh
#Path Configuration
export BACKUP_PATH='/root/backup/'
export FILES_BACKUP_FILENAME='files.tar.gz'
export DATABASE_BACKUP_FILENAME='database.sql.gz'
export PATH_TO_BACKUP='/path/to/backup'
export PATH_TO_EXCLUDE1='/path/to/backup/excludethis1'
export PATH_TO_EXCLUDE2='/path/to/backup/excludethis2'
#Database Configuration
export DATABASE_USERNAME='username'
export DATABASE_PASSWORD='password'
export DATABASE_HOST='localhost'
export DATABASE_NAME='database'
#FTP Configuration
export FTP_HOST='ftp.host.com'
export FTP_USERNAME='username'
export FTP_USERNAME='password'
#Create Backup Directory
mkdir $BACKUP_PATH
#Compress files / define any excluded folder
tar -cjvf $BACKUP_PATH$DATABASE_BACKUP_FILENAME $PATH_TO_BACKUP --exclude $PATH_TO_EXCLUDE1 --exclude $PATH_TO_EXCLUDE2
#Create MySQL Backup
mysqldump -u $DATABASE_USERNAME -h $DATABASE_HOST -p$DATABASE_PASSWORD $DATABASE_NAME | gzip -9 > $BACKUP_PATH$DATABASE_BACKUP_FILENAME
#Get Date
MY_DATE=date +%Y%m%d
export MY_DATE
#Transfer Backups to FTP Host
ftp -n -i $FTP_HOST <<END_SCRIPT
user ${FTP_USERNAME} ${FTP_PASSWORD}
put ${BACKUP_PATH}${DATABASE_BACKUP_FILENAME} files_${MY_DATE}.sql.gz
put ${BACKUP_PATH}${FILES_BACKUP_FILENAME} database_${MY_DATE}.tar.gz
END_SCRIPT
#Remove local backup after upload
rm $BACKUP_PATH* -f

سپس با دستور زیر سطح دسترسی اجرایی برای آن تعریف کنید. | تهیه نسخه پشتیبان

[root@zagrio ~]# chmod backup.sh 777

حالا به شکل زیر آن را اجرا نمائید و یا در Cron قرار دهید.

[root@zagrio ~]# ./backup.sh

SSH: آموزش افزودن فضای اضافی به پارتیشن اصلی در سرورهای لینوکس

SSH: آموزش افزودن فضای اضافی به پارتیشن اصلی در سرورهای لینوکس

8.4kviews

در این مطلب قصد داریم تا در مورد موضوعی به نام آموزش افزودن فضای اضافی به پارتیشن اصلی در سرورهای لینوکس (SSH)، با شما در بلاگ زاگریو صحبت کنیم.

افزایش حجم  پارتیشن ریشه با استفاده از SSH –  LVM- CentOS

اجرای دستور زیر در SSH

Increase Root Partition size – LVM – CentOS

برای افزایش فضای پارتیشن ریشه  ما باید با یک Iive CD/DVD  یا USB image بوت شویم و از آنجا فضای پارتیشن ریشه را افزایش دهیم و نیاز داریم که سیستم در حالت قطع (DOWNTIME) باشد. غیرممکن است که بدون قطع سیستم بتوانیم فضای پارتیشن ریشه را افزایش دهیم.

پارتیشن ریشه  سرور CentOS ما بر روی یک LVM  قرار گرفته که باعث می‌شود تغییر سایز کردن ساده‌تر شود.

چگونه فضای پارتیشن ریشه را با استفاده از SSH افزایش دهیم:

۱- CentOS live CD/DVD یا USB image خود را آماده کنید.

مطمئن شوید که یک Live CD/DVD  یا USB image برای بوت شدن از روی آن دارید. در این‌جا چگونگی استفاده از CentOS 7 DVD ISO image را خواهیم داشت اما در نهایت شما می‌توانید با استفاده از Fedora, Ubuntu و دیگر live CD/DVD imge همین کار را انجام دهید.

۲-  پارتیشن ریشه خود را شناسایی کنید.

مطمئن شوید هنگامی‌که در Live System هستید توانایی شناسایی پارتیشن ریشه را دارید. چون ما در حال افزایش پارتیشن ریشه  LVM  هستیم ساده‌ترین راه بخاطر سپردن سایز است. اگر پارتیشن‌های بسیاری با سایز یکسان دارید شما می‌توانید از ابتدا تا انتها بلوک‌ها را بررسی کنید.
با استفاده از LVM، پارتیشن ریشه را با عنوان /dev/mapper/cenos-root LVM Partition  مشخص کردم که بدین معنی است که این پارتیشن در یک (VG(Volume Group به نام CentOS و یک (LV (Logical Volume  به نام Root قرار دارد.

۳- اضافه کردن دیسک اضافی

با اضافه کردن دیسک اضافی به سیستم می‌توانیم فضای پارتیشن ریشه را افزایش دهیم یا مطمئن که یک فضای قابل استفاده روی دیسک پیکربندی شده موجود داریم. از آن‌جا که از ما از یک سیستم مجازی استفاده می‌کنیم یک فضای ۲GB اضافی، افزوده شده که در سیستم با عنوان /dev/ sdb شناخته می‌شود.

۴-  Reboot کردن سیستم‌تان

Live image را در CD/DVD درایو یا USB port را در سیستم قرار دهید. چون من از یک سیستم مجازی استفاده می‌کنم CentOS 7 ISO را در CD/DVD درایو مجازی قرار می‌دهم. در زمان بوت به “boot menu”  می‌رویم و محیط صحیح را برای بوت شدن انتخاب می‌کنیم.
بعد از این منوی CentOS 7 باید ظاهر شود.

۵-  انتخاب ” Troubleshooting”

هنگامی که CentOS 7  بوت می‌شود گزینه Troubleshooting” را از اولین منو انتخاب کنید.
SSH

۶-  انتخاب ” Rescue a CentOS system”

در منوی دوم گزینه ” Rescue a CentOS system” را انتخاب کنید.

۷-  پرش از نصب تاسیسات لینوکس موجود با SSH

هنگامی که باری پیدا کردن و نصب تأسیسات لینوکس موجود پرسیده می‌شود “Skip” را انتخاب کنید. چون ما در حال افزایش Root Partition خود هستیم این پارتیشن نباید نصب شود.

با زدن Enter به  Bash shell بر می‌گردید.

۸- آماده‌سازی دیسک جدید با SSH

از آنجا که ما ۲GB Disk جدید را به طور کامل به سیستم مجازی اضافه کرده‌ایم ما باید این دیسک را برای استفاده LVM  آماده کنیم. اگر در حال گسترش Root Partition با یک پارتیشن خالی موجود هستید نیز فرآیند مشابه است. فقط  از مشخص کننده پارتیشن (sdaX or sdbX) هنگامی‌که در حال اجرای دستورات هستید استفاده کنید.

پیکربندی آخرین دیسک را با دستور “fdisk -1” د بررسی کنید.

ما باید دیسک اضافی جدید را با ایجاد یک (PV( Physical Volume  جدید و گسترش (VG(Volume Group که در شکل زیر نشان داده می شود، در مرحله ۲ و با fdisk قابل تشخیص است، آماده کنیم. VG گسترش یافته “CentOS”  نامیده می‌شود.

همان‌طور که در Screenshot جدید می‌بینیم VG ما که CentOS نامیده شد حالا ۵۱۱ PE(Physical Extents) خالی دارد. در سطر “Free PE / Size” می‌بینیمکه به این معنی است که ما می‌توانیم root LV خود را با ۵۱۱ PE افزایش دهیم.

۹- افزایش فضای پارتیشن ریشه

بعد از به نتیجه رسیدن موارد بالا ما نیاز داریم که root LV را با دستور “Lvextend” گسترش دهیم. در این مورد من با ۵۱۱ PE (به همان اندازه که فضای آزاد وجود دارد) افزایش می‌دهم و همچنین از پارامتر “-r”  در انتهای دستور استفاده می‌کنم که بطور اتوماتیک فایل سیستم تغییر سایز شود.

نحوه دستوری که استفاده می‌کنم “lvextend -1+511 centos/root –r” است. علامت “+” را قبل از عدد PE فراموش نکنید. اگر فراموش شود داده‌های خود را از دست می‌دهید.

 همان‌طور که در انتهای دستور خروجی می‌بینیم data blocks number و همچنین partition size افزایش یافته است.

۱۰-  ریبوت کردن سیستم با استفاده از SSH

الان زمان برداشتن live image از CD/DVD  یا USB و راه‌اندازی مجدد بوت شدن سیستم موجود است. پس از آن ما می‌توانیم فضای آزاد دیسک پارتیشن ریشه را با SSH بررسی کنیم.

همان‌طور که می‌بینیم ۲GB فضای آزاد قابل استفاده روی root partition داریم که به این معنی است که ما موفق به افزایش سایز پارتیشن ریشه شدیم.

زاگریو

CentOS: آموزش نصب Apache ،MySQL و Fedora

4.7kviews

در مقاله قبل نحوه نصب وب سرور آپاچی (آخرین نسخه)، بانک اطلاعاتی ماریا دی‌بی (آخرین نسخه) و پی‌اچ‌پی (آخرین نسخه) را به همراه ماژول‌های آن روی سیستم عامل‌های CentOS 7 با استفاده از مخزن EPEL و دستور YUM آموزش داده شد .در این مقاله نحوه نصب وب سرور آپاچی (آخرین نسخه)، بانک اطلاعاتی مای اس کیو ال (آخرین نسخه) و پی‌اچ‌پی (آخرین نسخه) را به همراه ماژول‌های آن بر روی سیستم عامل‌های 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 CentOS

آپاچی (Apache)  چیست؟

آپاچی یک وب سرور HTTP متن باز رایگان است که بر روی تمامی توزیع‌های لینوکس و همچنین سیستم عامل ویندوز قابل نصب و اجراست. وب سرور آپاچی توانایی سرویس‌دهی به صفحات برنامه‌نویسی شده (.htm .php .pl .cgi .js) و موارد بسیاری دیگر را دارد. بر اساس آمارهای به دست آمده در اسفند ماه ۱۳۹۱ حدود ۶۵٫۲۴% دامنه‌های وب سایت‌های توسط آپاچی سرویس‌دهی می‌شوند.

ما اس کیو ال (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

۱-    یک فایل با نام phpinfo.php بسازید، موارد زیر را درون آن قرار دهید و در مسیر /var/www/html/phpinfo.php ذخیره کنید.

<php
phpinfo ();
?>

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

CentOS Install LAMP

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

نحوه حذف مطمئن Kernel های قدیمی چیست؟

921views

مرحله اول

ابتدا با دستور زیر Kernel فعال را پیدا کنید:

uname -r

نمونه خروجی:

۲٫۶٫۱۸-۵۳٫۱٫۴٫el5

مرحله دوم

سپس با دستور زیر کلیه Kernel های نصب شده بر روی سیستم را مشاهده نمائید:

# rpm -q kernel

نمونه خروجی:

kernel-2.6.12-1.el5
kernel-2.6.18-17.el5
kernel-2.6.18-53.el5
kernel-2.6.18-53.1.4.el5

کاربران توزیع های Ubunto و Debian از دستور زیر استفاده نمایند:

$ dpkg --list 'linux-image*'

نمونه خروجی:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-f/Unpacked/Failed-cfg/Half-inst/t-aWait/T-pend
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status,Err: uppercase=bad)
||/ Name Version Description
+++-=============================-=============================-==========================================================================
ii linux-image 2.6.22.14.21 Generic Linux kernel image.
un linux-image-2.6 (no description available)
rc linux-image-2.6.20-15-generic 2.6.20-15.27 Linux kernel image for version 2.6.20 on x86/x86_64
ii linux-image-2.6.20-16-generic 2.6.20-16.32 Linux kernel image for version 2.6.20 on x86/x86_64
ii linux-image-2.6.22-14-generic 2.6.22-14.47 Linux kernel image for version 2.6.22 on x86/x86_64
ii linux-image-generic 2.6.22.14.21 Generic Linux kernel image

مرحله سوم: حذف Kernel های قدیمی

**اخطار – دستورات فوق می بایست با دقت تمام اجرا شود، در صورت عدم اجرای صحیح سیستم شما غیرفعال می شود. توجه داشته باشید Kernel فعال را حذف نکنید!
با استفاده از دستور زیر نسبت به حذف در سیستم های RHEL / CentOS / Fedora Linux اقدام نمائید:

# rpm -e kernel-2.6.12-1.el5

با استفاده از دستور زیر نسبت به حذف در سیستم های Debian / Ubunto Linux اقدام نمائید:

$ sudo apt-get remove linux-image-2.6.22-14-generic

افزودن درایو جدید به سیستم CentOS و یا سیستم RedHat

1.2kviews

در این مقاله طریقه استفاده از درایو دوم برای فضای اضافی را آموزش می‌دهیم. در ادامه راه‌حلی سریع برای انجام این کار ارائه می‌دهیم.

۱- ابتدا مطمئن شوید که کدام‌یک از درایوها را می‌خواهید فرمت کنید. درایوهای اول، دوم و سوم به ترتیب /dev/sdb/ ،dev/sda و /dev/sdc هستند. دیسک را با دستور fdisk -l  چک کنید.
adding-drive-to-centeos
۲- شما می‌توانید ببینید که /dev/sdb (درایو دوم شما) هیچ پارتیشنی ندارد. ابتدا باید بر روی این درایو پارتیشن ایجاد کنید و بعد فایل سیستم را روی آن بسازید و سپس آنرا نصب کنید. پارتیشن‌ها با استفاده از دستور  fdisk /dev/sdb ایجاد می‌شوند.
adding-drive-to-centeos2
۳- همان‌طور که می‌توان از منوی help دید (با استفاده از دستور”m”) می‌خواهیم یک پارتیشن جدید ایجاد کنیم.  استفاده از پیش‌فرض‌ها، باعث می‌شود که از تمام دیسک استفاده شود. پس از آن‌که پارتیشن ایجاد شد شما می‌توانید از دستور “w” به منظور نوشتن روی دیسک و خروج استفاده کنید.
adding-drive-to-centeos3
۴- اکنون می‌بینید که خروجی دستور  fdisk -1 /dev/sdb پارتیشنی با عنوان /dev/sdb1  را نشان می‌دهد.
adding-drive-to-centeos4
۵- اکنون نیاز داریم که یک سیستم فایل بر روی آن ایجاد کنیم. برای اهداف کلی همیشه از ext3 استفاده می‌کنیم. می‌توانیم از دستور mkfs –t ext3 /dev/sdb1 استفاده کنیم.
adding-drive-to-centeos5
۶- حالا ما یک درایو ثانویه یک پارتیشنه داریم که از فایل سیستمی ext3 استفاده می‌کند. اکنون شما می‌توانید یک راهنمای نصب تنها با استفاده از “/drive 2” ایجاد کنید. با استفاده از دستور mount -t [filesystem] [source] [mount directory] زیر می‌توانید این کار را انجام دهید.
adding-drive-to-centeos6
۷- اکنون از طریق دستور df متوجه می‌شوید که درایو نصب شده است.
adding-drive-to-centeos7
۸- در آخر باید مطمئن شوید که درایو به طور اتوماتیک وقتی که سرور boot و reboot می‌شود، نصب می‌شود. شما نیاز دارید که خط زیر را به فایل /etc/fstab اضافه کنید.
adding-drive-to-centeos8
Windows PowerShell Web Access

Windows PowerShell Web Access: آموزش نصب و استفاده

3.2kviews

Windows PowerShell Web Access که اولین بار در ویندوز سرور ۲۰۱۲ ارائه شد، به عنوان دروازه Windows PowerShell و کنسول  Windows PowerShell مبتنی بر وب که هدفش کنترل سیستم‌های راه دور است، عمل می‌کند. این نرم‌افزار این مزیت را دارد که دستورات و اسکرپیت‌ها windows PowerShell را از کنسول windows PowerShell در یک مرورگر اجرا کنند بدون اینکه نیاز باشد windows PowerShell یا نرم‌افزار remote management و یا پلاگین‌های مرورگر بر روی دستگاه مشتری نصب شده باشد. Windows PowerShell Web Access به کاربران اجازه می‌دهد که با استفاده از Windows PowerShell در یک مرورگر وب به کامپبوترهایشان در سازمان دسترسی داشته باشند.

مواردی که ما برای اجرای کنسول Windows PowerShell Web Access مبتنی بر وب نیاز داریم یک دروازه Windows PowerShell Web Access است که به درستی پیکربندی شده باشد و یک مرورگر در دستگاه مشتری که از JavaScript® و کوکی پشتیبانی کند.
برای اجرای Windows PowerShell Web Access به وب سرور IIS، .NET Framework 4.5 و Windows PowerShell 3.0 و یا Windows PowerShell 4.0 نیاز داریم.

مرورگر و دستگاه های مشتری که پشتیبانی می کنند

Windows PowerShell Web Access تمامی مرورگرهای زیر را پشتیبانی می‌کند:
• Windows® Internet Explorer® for Microsoft Windows® ۸٫۰, ۹٫۰, ۱۰٫۰, and 11.0
• Mozilla Firefox® ۱۰٫۰٫۲
• Google Chrome™ ۱۷٫۰٫۹۶۳٫۵۶m for Windows
• Apple Safari® ۵٫۱٫۲ for Windows
• Apple Safari 5.1.2 for Mac OS®

اگر چه مرورگرهای تلفن همراه به طور رسمی پشتیبانی نمی‌شوند اما بسیاری از آن‌ها ممکن است قادر به اجرای کنسول Windows PowerShell مبتنی بر وب باشند. مرورگرهایی که کوکی‌ها را می‌پذیرند و جاوا اسکریپت را اجرا می‌کنند و با وب سایت‌های HTTPS کار می‌کنند ممکن است که توسط این نرم افزار پشتیبانی شوند اما به طور رسمی آزمایش نشده‌اند.

 Windows PowerShell Web Access در سه مرحله نصب و کانفیگ می‌شود:

۱-    مرحله اول نصب PowerShell Web Access است.
۲-    مرحله دوم کانفیگ Gateway است.

۳-    مرحله سوم کانفیگ قوانین مجازی که به کاربران اجازه می‌دهد به کنسول Windows PowerShell مبتنی بر وب دسترسی داشته باشند.

در ادامه ما مراحل نصب و کانفیگ را برای شما ارائه می‌دهیم:

مرحله اول: نصب Windows PowerShell Web Access

نصب Windows PowerShell Web Access با استفاده از cmdlet های Windows PowerShell Web Access

۱-    برای باز کردن Windows PowerShell Web Access یکی از مراحل زیر را انجام دهید:
  •     در دسکتاپ ویندوز از قسمت taskbar بر روی Windows PowerShell راست کلیک کنید و گزینه Run as Administrator را کلیک کنید.
  •     در صفحه نمایش شروع ویندوز بر روی Windows PowerShell راست کلیک کنید و گزینه Run as Administrator را کلیک کنید.
۲-    در ادامه دستور زیر را تایپ کنید و کلید enter کنید. computer_name، نام کامپیوتر راه دوری است که شما می‌خواهید بر روی آن Windows PowerShell Web Access نصب کنید را نمایش می‌دهد. پارامترهای راه‌اندازی مجدد در صورت نیاز به صورت اتوماتیک در سرور مقصد راه اندازی می‌شوند.
Install-WindowsFeature –Name WindowsPowerShellWebAccess -ComputerName <computer_name> -IncludeManagementTools –Restart

۳-    هنگامی‌که نصب کامل شد، بررسی کنید که  PowerShell Web Access که بر روی سرورهای مقصد با اجرای  cmdletهای Get-WindowsFeature نصب شده بود، در کنسول Windows PowerShell که توسط کاربران سطح بالا باز شده، نصب است. شما همچنین می‌توانید Windows PowerShell Web Access که بر روی کنسول مدیریت سرور نصب شده است را با انتخاب سرور مقصد در صفحه All Server بررسی کنید و تقش‌ها و ویژگی‌ها را برای سرور انتخاب شده مشاهده نمائید. شما همچنین می‌توانید فایل Readme را برای Windows PowerShell Web Access ببینید.

۴-    بعد از اینکه Windows PowerShell Web Access نصب شد، شما باید فایل Readme را مرور کنید که شامل دستورات پایه و دستورالعمل‌های موردنیاز برای تنظیم Gateway باشد. فایل Readme در مسیر C:\Windows\Web\PowerShellWebAccess\wwwroot\README.txt قرار دارد.

مرحله دوم: پیکربندی gateway برای Windows PowerShell Web Access

استفاده از Install-PswaWebApplication cmdlet یک راه سریع برای پیکربندی Windows PowerShell Web Access است. اگرچه شما می‌توانید  پارامتر UseTestCertificate به Install-PswaWebApplication cmdlet جهت نصب یک گواهینامه self-signed SSL certificate برای تست اهداف آزمایشی اضافه کنید، اما این روش مطمعن و امنی نیست. برای ایجاد یک محیط امن از یک گواهینامه SSL که توسط یک مرجع صدور معتبر امضا شده است، استفاده کنید. مدیران می‌توانند گواهی تست را با یک گواهی امضادار به انتخاب خود و با استفاده از کنسول IIS Manager جایگزین کنند. در ادامه ما دو روش پیکربندی دروازه Windows PowerShell Web Access را برای شما ارائه می‌دهیم.

پیکربندی دروزاه Windows PowerShell Web Access با یک گواهینامه تست با استفاده از Install-PswaWebApplication:

۱-    برای باز کردن Windows PowerShell Web Access یکی از گزینه‌های زیر را انتخاب کنید:

  •    در دسکتاپ ویندوز، از قسمت Taskbar بر روی Windows PowerShell راست کلیک کنید.
  •   در صفحه شروع ویندوز بر روی Windows PowerShell کلیک کنید.
۲-    دستور زیر را تایپ کنید و کلید Enter را بزنید.
Install-PswaWebApplication –UseTestCertificate

پیکربندی دروازه Windows PowerShell Web Access با گواهینامه واقعی با استفاده از Install-PswaWebApplication و IIS Manager:

۱-    برای باز کردن Windows PowerShell Web Access یکی از گزینه‌های زیر را انتخاب کنید:
  •     در دسکتاپ ویندوز، از قسمت Taskbar بر روی Windows PowerShell راست کلیک کنید.
  •     در صفحه شروع ویندوز بر روی Windows PowerShell کلیک کنید.

۲-    دستور زیر را تایپ کنید و کلید Enter را بزنید.

Install-PswaWebApplication
تنظیمات Gateway که در ادامه آمده است، در حال اجرای cmdlet پیکربندی شده است. شما می‌توانید این تنظیمات را به صورت دستی در کنسول IIS manager در صورت دلخواه تغییر دهید. شما می‌توانید مقادیر پارامترهای WebsiteName و WebApplicationName را در Install-PswaWebApplication cmdlet مشخص کنید.
• Path: /pswa
• ApplicationPool: pswa_pool
• EnabledProtocols: http
• PhysicalPath: %windir%/Web/PowerShellWebAccess/wwwroot
۳-    کنسول IIS Manager را با استفاده از یکی از روش‌های زیر باز کنید.
  •     در دسکتاپ ویندوز با کلیک بر روی Server manager در taskbar آنرا start  کنید. در منوی tools در server manager بر روی Internet Information Services (IIS) Manager کلیک کنید.
  •     در صفحه نمایش شروع ویندوز بر روی server manager کلیک کنید.

۴-    در پنجره درخت IIS Manager، گره‌ای را که سرور Windows PowerShell Web Access بر روی آن نصب شده است را گسترش دهید تا پوشه Site برای شما نمایش داده شود. پوشه های سایت را گسترش دهید.

۵-    وب‌سایتی که نرم‌افزار وب Windows PowerShell Web Access را بر روی آن نصب کرده‌اید را انتخاب کنید. در پنجره Actions بر روی گزینه Bindings را کلیک کنید.

۶-    در کادر محاوره‌ای Site Binding بر روی Add کلیک کنید.

۷-    در کادر محاوره‌ای Add Site Binding در فیلد Type گزینه Https را انتخاب کنید.

۸-    در فیلد SSL certificate، از منوی آبشاری signed certificate خود را انتخاب و ok کنید.

نرم افزار وب Windows PowerShell Web Access اکنون برای استفاده بر روی signed SSL certificate شما پیکربندی شده است. با وارد کردن آدرس https://<server_name>/pswa دریک پنجره مرورگر می توانید به Windows PowerShell Web Access دسترسی داشته باشید.

مرحله سوم: پیکربندی یک قانون با مجوز محدود

بعد از نصب PowerShell Web Access و پیکربندی Gateway کاربران می‌توانند وارد صفحه ورود شوند اما تا زمانی که مدیر Windows PowerShell به آنها اجازه دسترسی ندهد نمی‌توانند وارد سایت شوند. دسترسی‌های PowerShell Web Access با استفاده از مجموعه‌ای از Cmdlet های  Windows PowerShell که در جدول زیر شرح داده شده است قابل کنترل است.

برای اضافه کردن قانون با مجوز محدود:

۱-    یکی از گزینه‌های زیر را برای باز کردن Windows PowerShell با استفاده از کاربران با حقوق بالا انتخاب کنید:
  •     در دسکتاپ ویندوز، از قسمت Taskbar بر روی Windows PowerShell راست کلیک کنید و بر روی گزینه Run as Administartor کلیک کنید.
  •     در صفحه نمایش شروع ویندوزبر روی  Windows PowerShell راست کلیک کنید و بر روی گزینه Run as Administartor کلیک کنید.

۲-    مراحل اختیاری را برای محدود کردن دسترسی کاربران با استفاده از تنظیمات Using Session انجام دهید.

۳-    در ادامه دستور زیر را تایپ کنید و Enter را بزنید.
Add-PswaAuthorizationRule –UserName <domain\user | computer\user> -ComputerName <computer_name> -ConfigurationName <session_configuration_name>

۴-    شما می‌توانید قانونی را که ایجاد کردید با استفاده از Get-PswaAuthorizationRule cmdlet چک کنید.

تنظیمات معمولی:

مرحله اول: نصب Windows PowerShell Web Access
به منظور نصب Windows PowerShell Web Access با استفاده از Add Roles and Features Wizard:
۱- اگر server manager باز است به مرحله بعد بروید اما اگر باز نیست به یکی از روش‌های زیر اینکار را انجام دهید:
  •     در صفحه دسکتاپ ویندوز با کلیک بر روی server manager در قسمت taskbar ،server manager را باز کنید.
  •     یا در قسمت start ویندوز بر روی server manager کلیک کنید.

۲- از منوی manage بر روی Add Roles and Features کلیک کنید.

۳- در صفحه Select installation type، گزینه Role-based or feature- based installation را انتخاب کنید و next را کلیک کنید.

۴- در صفحه Select destination server یک سرور را از مجموعه سرورها و یا یک offline VHD را انتخاب کنید. برای انتخاب VHD آفلاین به عنوان سرور مقصد، ابتدا سروری که VHD روی آن بارگذاری می‌شود را انتخاب کنید و سپس فایل VHD را برای اطلاعات مربوط به چگونگی اضافه کردن سرور به مجموعه سرورها قسمت Server manager help بروید. پس از انتخاب سرور مقصد بر روی گزینه next کلیک کنید.

۵- در صفحه Select features از ویزاد،  Windows PowerShell را باز کنید و سپس Windows PowerShell Web Access را انتخاب کنید.

۶- توجه داشته باشید که باید گزینه‌های مورد نیاز را مانند .NET Framework 4.5 و نقش خدمات (Web Server (IIS را اضافه کنید. گزینه‌های مورد نیاز را اضافه کرده و ادامه دهید.

نکته: نصب Windows PowerShell Web Access با استفاده از Add Roles and Features ،Web server را که IIS Manager snap-in را در برمی‌گیرد را نیز نصب می‌کند. span-in و دیگر ابزارهای مدیریت IIS اگر از Add Roles and Features Wizard استفاده کنید به صورت پیش‌فرض نصب هستند. اگر Windows PowerShell Web Access را با استفاده از Windows PowerShell cmdlets، همان‌طور که زیر آمده است نصب کنید، ابزارهای مدیریت به صورت پیش‌فرض نصب نمی‌شوند.

۷- در صفحه Confirm installation selections، اگر فایل‌های  PowerShell Web Access در سروری که در مرحله ۴ انتخاب کرده‌اید، ذخیره نشده‌اند روی Specify an alternate source path کلیک کنید و مسیر را از روی فایل‌ها اعمال کنید در غیر این‌صورت Install را کلیک کنید.

۸- بعد از اینکه Install را زدید، در صفحه Installation progress، پیشرفت مراحل نصب، نتیجه و پیام‌هایی از جمله هشدارها، خطاها و یا مراحل تایید پس از نصب موردنیاز برای نصب Windows PowerShell Web Access را نشان می‌دهد. پس از اینکه Windows PowerShell Web Access نصب شد باید فایل Readme را مطالعه‌ای مختصر بنمائید زیرا دستورالعمل‌های ابتدایی موردنیاز برای مسیر دریچه (Gateawy) را در برمی‌گیرد. این دستورالعمل‌ها در همین قسمت هم نیز آورده شده‌اند. مسیر فایل Readme این است. C:\Windows\Web\PowerShellWebAccess\wwwroot\README.txt.

مرحله دوم: پیکربندی Gateway

دستورالعمل‌های این قسمت برای نصب برنامه PowerShell Web Access در یک فهرست فرعی – و نه در یک مسیر اصلی – وب‌سایت هستند. این فرآیند معادل GUI محور اقدامات انجام شده توسط Install – psw a web application است.

این بخش همچنین دستورالعمل‌هایی برای چگونگی استفاده از IIS manager به منظور پیکربندی مسیر Gateway در Windows PowerShell Web Access به عنوان وب سایت اصلی است.

    استفاده از IIS  manager برای پیکربندی مسیر Gateway در سایت موجود.

    استفاده از IIS manager برای پیکربندی مسیر Gateway به عنوان یک وب‌سایت اصلی با گواهی قسمت.


استفاده از IIS  manager برای پیکربندی مسیرGateway در سایت موجود:

۱- کنسول IIS manager را به یکی از روش‌های زیر باز کنید.
  •     در صفحه دسکتاپ server manager را با کلیک بر روی آن در قسمت task bar ویندوز باز کنید. در منوی tools بر روی Internet Information server manager کلیک کنید.
  •     در قسمت Start ویندوز بخشی از عبارت Internet Information server manager را تایپ کنید. روی Shortcut که در قسمت Apps  ایجاد می‌شود کلیک کنید.

۲- یک مخزن نرم‌افزار برای  PowerShell Web Access ایجاد کنید.گره Gateway Server را در پنجره درخت IIS Manager گسترش دهید و گزینه Application tools را انتخاب کنید و روی گزینه Add application tools در پنجره Action  کلیک کنید.

۳- یک مخزن نرم‌افزار جدید با نام pswa_pool اضافه کنید و بر روی OK کلیک کنید.

۴- در قسمت پنجره درخت IIS Manager، گره‌ای که PowerShell Web Access بر روی آن نصب است را باز کنید تا پوشه Site پدیدار شود، آن را انتخاب کنید.

۵- بر روی وب‌سایتی (برای مثال default website) که می‌خواهید وب‌سایت PowerShell Web Access را به آن اضافه کنید راست کلیک کرده و سپس add application را بزنید.

۶- در قسمت Alias، PowerShell Web Access را تایپ کنید یا یک Alias دیگر را ارائه کنید. این Alias نام راهنمای مجازی می‌شود. مثلا pswa در URL زیر نشان‌دهنده نام عاریتی در این مرحله است. https://<servername>/pswa

۷- در قسمت Applicatin pool، مخزن برنامه‌ای که در مرحله ۳ ایجاد کرده بودید را انتخاب کنید.

۸- در قسمت Physical path، محل برنامه را مشخص کنید. می‌توانید از محل پیش‌فرض انتخاب کنید: windir/web و سپس ok را کلیک کنید.

۹- مراحل ذکر شده در قسمت پیکربندی گواهی SSL در IIS manager همین مقاله را بخوانید.

۱۰- مرحله امنیتی اختیاری: وقتی که وب‌سایت در پنجره درخت انتخاب شده است، در پنجره محتوا بر روی SSL Setting دابل کلیک کنید. گزینه repaire SSL را انتخاب کنید، سپس در پنجره actions روی گزینه apply کلیک کنید. می‌توانید در صورت تمایل در پنجره SSL
setting از کاربران متصل به وب سایت WPWA درخواست گواهی سرویس گیرنده کنید. گواهی سرویس‌گیرنده به شما کمک می‌کند هویت سرویس گیرنده را بررسی کنید.
۱۱- وب سایت Windows PowerShell Web access را باز کنید https://<Gateway-server-name>/pswa
مرورگر باید صفحه کنسول Windows PowerShell Web Access  را نشان دهد.

نکته: تا زمانی که به کاربران امکان دسترسی به سایت یا اضافه کردن قوانین داده نشود شما نمی‌توانید وارد سایت شوید.

۱۲- در یک قسمت از Windows PowerShell که با حقوق و امکانات بالا (Run as administrator) باز شده است، فایل آغازگر زیر را که در آن application_pool_name نشان‌دهنده نام مخزن برنامه‌ای است که در مرحله ۳ ایجاد کردید را اجرا کنید تا به مخزن برنامه امکان دسترسی به فایل‌ها داده شود.

استفاده از IIS Mmanager برای پیکربندی مسیر دریچه به عنوان وب سایت اصلی با گواهی تست:

۱- به یکی از روش‌های زیر کنسول IIS Manager را باز کنید.
  •     در صفحه دسکتاپ ویندوز Server manager را با کلیک بر روی آن در قسمت Taskbar ویندوز باز کنید. در قسمت tools در server manager روی Internet Information Services (IIS) Manager کلیک کنید.
  •     در صفحه شروع ویندوز قسمتی از Internet Information Services (IIS) Manager را تایپ کنید. بر روی shortcut که در قسمت apps نمایش داده می‌شود را کلیک کنید.

۲- در پنجره درخت IIS Nanager، گره سروری که روی آن وب سایت Windows PowerShell Web access را باز کنید تا پوشه سایت برای شما نشان داده شود. پوشه سایت را انتخاب کنید.

۳- در صفحه Actions بر روی Add Website کلیک کنید.

۴- نام وب‌سایت را تایپ کنید به عنوان مثال PowerShell Web Access را تایپ کنید.

۵- یک مخزن برنامه به صورت خودکار برای وب‌سایت ایجاد می‌شود. برای استفاده از یک مخزن برنامه متفاوت Select را کلیک کنید تا یک مخزن برنامه را برای ارتباط‌دهی با وب سایت جدید انتخاب کنید. مخزن برنامه جایگزین را در کادر Select Application Pool انتخاب کنید و Ok را بزنید.

۶- در کادر Physical path این آدرس را وارد کنید.

۷- در قسمت Type از بخش Binding گزینه https را انتخاب کنید.

۸- یک شماره پورت را که مورد استفاده وب‌سایت یا برنامه‌ای نیست به این وب‌سایت اختصاص دهید. برای موقعیت‌یابی پورت‌های باز می‌توانید دستور netstat را در Command Prompt اجرا کنید.
شماره پورت پیش فرض ۴۴۳ است.

اگر وب‌سایت دیگری از پورت ۴۴۳ استفاده می‌کند یا دلایل امنیتی دیگری دارید، شماره پورت را تغییر دهید. اگر وب‌سایت دیگری روی مسیر Gateway از شماره پورت انتخابی شما استفاده می‌کند، هنگامی‌که کلید OK را در کادر Add Website می‌زنید، هشدار نشان داده می‌شود بنابراین باید پورتی که استفاده نشده است را انتخاب کنید.

۹- در صورت تمایل اگر برای سازمان لازم است یک Host name (نام میزبان) را که معقول و مناسب کاربران و سازمان است را انتخاب کنید و Ok را بزنید.

۱۰- برای یک محیط تولید ایمن‌تر، توصیه می‌کنیم که از یک گواهی معتبر که توسط CA به امضا رسیده است را استفاده کنید. شما باید یک گواهی SSL ارائه کنید زیرا کاربران تنها از طریق وب‌سایت https می‌توانند به  PowerShell Web Access متصل شوند.

۱۱- روی گزینه ok کلیک کنید تا کادر Add Website بسته شود.

۱۲- در یک قسمت Windows PowerShell که با امکانات افزایش یافته کاربر (Run as Administrator) باز شده است، فایل آغازگر زیر را اجرا کنید که در آن application_pool_name نشان‌دهنده نام مخزن برنامه‌ای است که در مرحله ۴ ایجاد  کرده‌اید تا به مخزن برنامه اجازه دسترسی به فایل اجازه (authorization file) را داده باشید.
$applicationPoolName = <application_pool_name>
$authorizationFile = "C:\windows\web\powershellwebaccess\data\AuthorizationRules.xml"
c:\windows\system32\icacls.exe $authorizationFile /grant ('"' + "IIS AppPool\$applicationPoolName" + '":R') > $null
برای مشاهده حقوق دسترسی به فایل اجازه دستور زیر را اجرا کنید.
c:\windows\system32\icacls.exe $authorizationFile

۱۳- با وب سایت جدید انتخاب شده در پنجره درخت IIS Manager برای باز کردن و آغاز به کار وب‌سایت بر روی گزینه Start در پنجره action کلیک کنید.

۱۴- یک مرورگر را روی دستگاه یک سرویس گیرنده باز کنید.

۱۵- وب‌سایت Windows PowerShell Web Access را باز کنید.
از آنجا که وب سایت اصلی (root) به پوشه Windows PowerShell Web Access اشاره می‌کند و برمی‌گردد، مرورگر باید صفحه sign-in از Windows PowerShell Web Access را هنگامی که https://< gateway_server_name> را باز می‌کنید نشان می‌دهد نباید نیازی به اضافه کردن /pswa داشته باشد.

نکته: با به کاربران اجازه دسترسی به وب‌سایت، با اضافه کردن قوانین اجازه، داده نشود نمی‌توانید وارد شوند.

مرحله سوم: پیکربندی یک قانون با مجوز محدود

بعد از نصب  PowerShell Web Access و پیکربندی Gateway کاربران می‌توانند وارد صفحه ورود شوند اما تا زمانی که مدیر Windows PowerShell به آنها اجازه دسترسی ندهد نمی‌توانند وارد سایت شوند. دسترسی‌های  PowerShell Web Access با استفاده از مجموعه‌ای از Cmdlet های Windows PowerShell که در جدول زیر شرح داده شده است قابل کنترل است. هیچ رابط کاربری گرافیکی قابل مقایسه برای اضافه کردن یا مدیریت مجوز وجود دارد.

برای اضافه کردن قانون با مجوز محدود

۱- یکی از گزینه‌های زیر را برای باز کردن Windows PowerShell با استفاده از کاربران با سطح دسترسی بالا  انتخاب کنید:
  •     در دسکتاپ ویندوز، از قسمت Taskbar روی Windows PowerShell راست کلیک کنید و روی گزینه Run as Administartor کلیک کنید.
  •     در صفحه نمایش شروع ویندوز روی  Windows PowerShell راست کلیک کنید و روی گزینه Run as Administartor کلیک کنید.

۲- مراحل اختیاری را برای محدود کردن دسترسی کاربران با استفاده از تنظیمات Using Session انجام دهید. بررسی کنید که تنظیماتی که می‌خواهید در قوانین خود استفاده کنید، در حال حاضر وجود دارد.

۳- در ادامه دستور زیر را تایپ کنید و Enter را بزنید.

Add-PswaAuthorizationRule –UserName <domain\user | computer\user> -ComputerName <computer_name> -ConfigurationName<session_configuration_name>

۴- شما می‌توانید قانونی را که ایجاد کردید با استفاده از Get-PswaAuthorizationRule cmdlet و یا Test-PswaAuthorizationRule -UserName <domain\user | computer\user> -ComputerName چک کنید.
پس از این‌که قانون مجوز پیکربندی شده‌اند، شما برای ورود کاربران مجاز به کنسول مبتنی بر وب و شروع به استفاده  Powershell Web Access آماده هستید.

پیکربندی یک گواهینامه واقعی:

برای یک محیط تولید امن، همیشه از یک گواهینامه SSL معتبر که توسط مرجع صدور گواهینامه (CA) امضا شده است، استفاده کنید. در این قسمت نحوه به دست آوردن و استفاده از یک گواهینامه SSL که توسط CA امضا شده است را ارائه می‌دهیم.

پیکربندی یک گواهینامه SSL در IIS Manager:

۱- در پنجره درخت IIS Manager سروری که Powershell Web Access روی آن نصب است را انتخاب کنید.

۲- در پنجره محتوا بر روی Server Certificates دوبار کلیک کنید.

۳- در پنجره Action، یکی از گزینه‌های زیر را انجام دهید:
  •     برای وارد کردن گواهینامه معتبر از یک مکان از شبکه خود بر روی گزینه Import  کلیک کنید.
  •     برای درخواست یک گواهینامه از CA بر روی گزینه Create Certificate Request کلیک کنید.
  •     برای استفاده فوری از یک گواهی که بعدا می‌توانید توسط CA آن را امضا کنید بر روی گزینه Create a Self-Signed Certificate را کلیک کنید.

۴- پس از ایجاد یا به دست آوردن یک گواهینامه وب‌سایتی که می‌خواهید گواهینامه بر روی آن اعمال شود را انتخاب کنید. در پنجره درخت IIS Manager، روی گزینه Binding در پنجره درخت Action کلیک کنید.

۵- در کادر Add Site Binding، برای سایت Https را اضافه کنید اگر در حال حاضر نمایش داده نمی‌شود. اگر شما از یک گواهی خود امضا استفاده می‌کنید این مرحله نیاز نیست.

۶- گواهینامه‌ای که در مرحله ۳ ایجاد کردید یا به دست آوردید را انتخاب کنید و بر روی گزینه Ok کلیک کنید.

نحوه بکاپ‌گیری از SQL Server توسط PowerShell

1.5kviews

برای بکاپ‌گیری از بانک‌های اطلاعاتی Microsoft SQL Server به راحتی می‌توانید با استفاده از ماژول PowerShell که در نسخه ۲۰۱۲ معرفی شده است استفاده نمائید.

درصورتی‌که نسخه ۲۰۱۲ به بالا را به همراه Client Tools نصب نموده‌اید ماژول SQLPS قبلا نصب شده است.
جهت بررسی این مورد از دستور زیر می‌توانید استفاده نمائید:

Get-Module -ListAvailable

در صورت لزوم باید نرم‌افزارهای مورد نیاز را دانلود و نصب نمائید:

http://www.microsoft.com/en-us/download/details.aspx?id=29065

  • Microsoft® System CLR Types for Microsoft® SQL Server® ۲۰۱۲ (SQLSysClrTypes.msi)
  • Microsoft® SQL Server® ۲۰۱۲ Shared Management Objects (SharedManagementObjects.msi)
  • Microsoft® Windows PowerShell Extensions for Microsoft® SQL Server® ۲۰۱۲ (PowerShellTools.msi)

سپس برای فراخوانی ماژول‌ها:

Import-Module sqlps

پس از نصب ۴۶ دستور اضافه خواهد شد که موارد زیر از پرکاربردترین آن‌هاست.

 

Backup-SqlDatabase
Restore-SqlDatabase
Backup-ASDatabase
Restore-ASDatabase

 

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

 


$DateTime = Get-Date -Format yyyyMMddHHmmss
$ServerInstance = "localhost\sqlexpress"
$Database = "databasenametobackup"
Backup-SqlDatabase -ServerInstance $ServerInstance -Database $Database -BackupFile "C:\path\to\store\backup\backup-$DateTime.bak"