<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                #### ssh免交互生成密鑰及遠程ssh ``` ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa ssh -o stricthostkeychecking=no root@ip -p port ``` #### Centos 4T以上硬盤分區 感謝[codemanship](https://blog.csdn.net/codemanship/article/details/47056673 "codemanship") ``` parted /dev/sde p(打印) mklabel gpt mkpart primary 0 -1 Ignore quit mkfs.ext4 /dev/sde1 ``` #### iotop使用 ```shell # 選項 -o:只顯示有io操作的進程 -b:批量顯示,無交互,主要用作記錄到文件。 -n NUM:顯示NUM次,主要用于非交互式模式。 -d SEC:間隔SEC秒顯示一次。 -p PID:監控的進程pid。 -u USER:監控的進程用戶。 # iotop常用快捷鍵 左右箭頭:改變排序方式,默認是按IO排序。 r:改變排序順序。 o:只顯示有IO輸出的進程。 p:進程/線程的顯示方式的切換。 a:顯示累積使用量。 q:退出。 ``` #### MegaCLI 使用 ``` # 查看每塊硬盤的狀態,主要看是否重建完成和是否正常加入 # 如果沒有加入,證明里面有臟raid信息,建議使用MegaRaid操作 /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL|grep 'Firmware state' ``` #### Centos安裝中文 ``` CentOS6:yum -y install fonts-chinese CentOS7: yum groupinstall "fonts" ``` #### Centos7 修改時區 ``` ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime</pre> ``` #### Centos7 修改主機名 ``` hostnamectl set-hostname C7-Basic ``` #### vim編輯器中文亂碼 ``` set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936 set termencoding=utf-8 set encoding=utf-8 ``` 查看正常是系統字符集,編輯是vim字符集 #### 系統歷史命令要加大 >HISTFILESIZE與HISTSIZE的區別 在linux系統中,history命令可以輸出歷史命令,歷史命令默認保存在文件~/.bash_history中。 >HISTFILESIZE 與 HISTSIZE都是history命令需要用到的兩個shell變量,這兩個變量到底有什么區別呢? >HISTFILESIZE 定義了在 .bash_history 中保存命令的記錄總數,可以理解為.bash_history文件中最多只有HISTFILESIZE行 >HISTSIZE 定義了 history 命令輸出的記錄數,即輸出.bash_history文件中的最后HISTSIZE行 ```shell HISTFILESIZE=4000 HISTSIZE=4000 ``` #### CentOS 7添加開機啟動服務/腳本 ##### 默認 ```shell systemctl enable jenkins.service #設置jenkins服務為自啟動服務 sysstemctl start jenkins.service #啟動jenkins服務 ``` ##### 傳統方式一 ```shell # 賦予腳本可執行權限(/opt/script/autostart.sh是你的腳本路徑) chmod +x /opt/script/autostart.sh # 打開/etc/rc.d/rc/local文件,在末尾增加如下內容 /opt/script/autostart.sh # 在centos7中,/etc/rc.d/rc.local的權限被降低了,所以需要執行如下命令賦予其可執行權限 chmod +x /etc/rc.d/rc.local ``` ##### 傳統方式二 ```shell # 將腳本移動到/etc/rc.d/init.d目錄下 mv /opt/script/autostart.sh /etc/rc.d/init.d # 增加腳本的可執行權限 chmod +x /etc/rc.d/init.d/autostart.sh # 添加腳本到開機自動啟動項目中 cd /etc/rc.d/init.d chkconfig --add autostart.sh chkconfig autostart.sh on ``` [以上內容摘自Linux公社](https://www.linuxidc.com/Linux/2016-12/138079.htm "以上內容摘自Linux公社") #### 切割文件 5位,數字,100行一個文件 ``` split -a 5 -d -l 100 /data/bak_resouce/20190319_kimissbbs.sql kmbbs_ ``` #### 文件系統只讀 一般沒什么用,如果系統運行時出現,先去排查系統磁盤問題 ``` mount -o rw,remount / ``` #### Nginx awk分析 ``` awk '{a[$2]++;if(a[$2]>100){b[$2]++}}END{for(i in b){print i,a[i]}}' my.access.log ``` #### Centos7 常用命令 ```shell # 獲取主機名 hostnamectl # 修改主機名 hostnamectl set-hostname dev 或 vim /etc/hostname ``` #### shell將文本轉換為整齊的表格,格式化 ```shell 命令: Column 使用的參數: -t :表格,默認以空格間隔 -s:需要配合-t使用,指定分隔符 ``` #### Xargs向后引用 ```shell xargs 后向引用 xargs -i cp {} /tmp ``` #### 臨時增加IP ```shell ifconfig eth0 192.168.1.1 netmask 255.255.255.0 ``` #### 單網卡多IP ```shell # 臨時增加 ifconfig eth0:0 192.168.1.1 netmask 255.255.255.0 up # 永久增加 # vim /etc/sysconfig/network-scripts/ifcfg-eth0:0 DEVICE=eth0:0 ONBOOT="yes" IPADDR=192.168.1.1 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 # 永久增加2 IPADDR0="192.168.1.150" IPADDR1="192.168.1.151" IPADDR2="192.168.1.152" ``` 以上內容來自[敲代碼的C羅](https://blog.csdn.net/lv302677589/article/details/79087893 "敲代碼的C羅") #### 命令行格式 ```shell column -t 使用的參數: -t :表格,默認以空格間隔 -s:需要配合-t使用,指定分隔符 ``` #### 快速掃描端口 ```shell nc -nvz 192.168.1.100 1-65535 ``` #### 獲取當前IDC出口IP ```shell curl ifconfig.me curl http://members.3322.org/dyndns/getip elinks www.123cha.com | awk -F '[][]' '/ip:/{print $4}' ``` #### 查看網絡運行情況 ##### 獲取連接情況 ```shell ss -ant|awk '{++S[$1]}END{for (a in S)print a,S[a]}' ``` 注釋: ```shell {++S[$2]} 將某列作為數據存進S END{for (a in S) 結束后,執行for循環 print a,S[a]} 打印數據中的元素和統計數 ``` >http://blog.csdn.net/hustsselbj/article/details/47438781 #### 系統中統計連接數前10的IP ```shell ss -ant|awk -F '[ :]+' '{print $4}'|awk '/^[0-9]/{++S[$0]}END{for (a in S)print a,S[a]}'|sort -nk 2 -r |head -10|awk '{sum+=$2}END{print sum}' 1.用分號和空格間隔,獲取IP列(去掉端口) 2.把內容輸入到awk隊列,然后自增后輸出到第二列 3.sort基于第2列,降序排列 4.head 取前10行 5.把第二列統計 #如果需要統計所有數量,把head -10去掉就可以了 ``` #### 隨機生成強密碼 方法一 使用openssl ```shell for i in `seq 100`;do openssl rand -base64 12;done; ``` 方法二 使用mkpasswd 摘自[三口酥屋](http://blog.csdn.net/liangdsh "三口酥屋"),感謝分享 ```shell #光盤自帶 yum install expect tcl ``` ```shell -l (密碼的長度定義, 默認是 9) -d (數字個數, 默認是 2) -c (小寫字符, 默認是 3) -C (大寫字符, 默認是 2) -s (特殊字符, 默認是 1) -v (詳細。。。) ``` 創建了一個長度為20位,包括數字個數,包含小寫字母個數,包含大寫字母個數,包含特殊符號個數。 ```shell mkpasswd -l 20 -d 5 -c 5 -C 5 -s 5 0f>pLe27GF8\tRA$v(/9 ``` 修改一個用戶的密碼為強密碼 ```shell mkpasswd -l 20 -d 5 -c 5 -C 5 -s 5 -v ding spawn /bin/passwd boxhill Changing password for user boxhill. New password: Retype new password: passwd: all authentication tokens updated successfully. password for ding is \nP}2UPF7jf]O:51{yf5 ``` #### 查看系統硬件資源 服務器品牌和型號 ```shell dmidecode |grep -A4 'System Information' ``` 查看主板信息 ```shell dmidecode -t 2 ``` 查詢內存信息 ```shell dmidecode -t 16 ``` 查看當前內存數和插槽數 ```shell dmidecode|grep -P -A5 "Memory Device" |grep Size ``` 查看內存插槽詳細信息 ```shell dmidecode -t 17 ``` 查看CPU信息 ```shell dmidecode -t 4 ``` 查看RAID或磁盤信息 ```shell cat /proc/scsi/scsi ``` 查看內存速率 ```shell dmidecode|grep -A16 "Memory Device"|grep 'Speed' ``` #### 常用命令 ``` 系統   # uname -a # 查看內核/操作系統/CPU信息   # head -n 1 /etc/issue # 查看操作系統版本   # cat /proc/cpuinfo # 查看CPU信息   # hostname # 查看計算機名   # lspci -tv # 列出所有PCI設備   # lsusb -tv # 列出所有USB設備   # lsmod # 列出加載的內核模塊   # env # 查看環境變量 資源   # free -m # 查看內存使用量和交換區使用量   # df -h # 查看各分區使用情況   # du -sh <目錄名> # 查看指定目錄的大小   # grep MemTotal /proc/meminfo # 查看內存總量   # grep MemFree /proc/meminfo # 查看空閑內存量   # uptime # 查看系統運行時間、用戶數、負載   # cat /proc/loadavg # 查看系統負載 磁盤和分區   # mount | column -t # 查看掛接的分區狀態   # fdisk -l # 查看所有分區   # swapon -s # 查看所有交換分區   # hdparm -i /dev/hda # 查看磁盤參數(僅適用于IDE設備)   # dmesg | grep IDE # 查看啟動時IDE設備檢測狀況 網絡   # ifconfig # 查看所有網絡接口的屬性   # iptables -L # 查看防火墻設置   # route -n # 查看路由表   # netstat -lntp # 查看所有監聽端口   # netstat -antp # 查看所有已經建立的連接   # netstat -s # 查看網絡統計信息 進程   # ps -ef # 查看所有進程   # top # 實時顯示進程狀態 用戶   # w # 查看活動用戶   # id <用戶名> # 查看指定用戶信息   # last # 查看用戶登錄日志   # cut -d: -f1 /etc/passwd # 查看系統所有用戶   # cut -d: -f1 /etc/group # 查看系統所有組   # crontab -l # 查看當前用戶的計劃任務 服務   # chkconfig --list # 列出所有系統服務   # chkconfig --list | grep on # 列出所有啟動的系統服務 程序   # rpm -qa # 查看所有安裝的軟件包 其他常用命令整理如下:   查看主板的序列號:dmidecode | grep -i 'serial number'   用硬件檢測程序kuduz探測新硬件:service kudzu start ( or restart)   查看CPU信息:cat /proc/cpuinfo [dmesg | grep -i 'cpu'][dmidecode -t processor]   查看內存信息:cat /proc/meminfo [free -m][vmstat]   查看板卡信息:cat /proc/pci   查看顯卡/聲卡信息:lspci |grep -i 'VGA'[dmesg | grep -i 'VGA']   查看網卡信息:dmesg | grep -i 'eth'[cat /etc/sysconfig/hwconf | grep -i eth][lspci | grep -i 'eth']   查看PCI信息:lspci (相比cat /proc/pci更直觀)   查看USB設備:cat /proc/bus/usb/devices   查看鍵盤和鼠標:cat /proc/bus/input/devices   查看系統硬盤信息和使用情況:fdisk & disk – l & df   查看各設備的中斷請求(IRQ):cat /proc/interrupts   查看系統體系結構:uname -a   查看及啟動系統的32位或64位內核模式:isalist –v [isainfo –v][isainfo –b]   查看硬件信息,包括bios、cpu、內存等信息:dmidecode   測定當前的顯示器刷新頻率:/usr/sbin/ffbconfig –rev ?   查看系統配置:/usr/platform/sun4u/sbin/prtdiag –v   查看當前系統中已經應用的補丁:showrev –p   顯示當前的運行級別:who –rH   查看當前的bind版本信息:nslookup –class=chaos –q=txt version.bind   查看硬件信息:dmesg | more   顯示外設信息, 如usb,網卡等信息:lspci   查看已加載的驅動:   lsnod   lshw   查看當前處理器的類型和速度(主頻):psrinfo -v   打印當前的OBP版本號:prtconf -v   查看硬盤物理信息(vendor, RPM, Capacity):iostat –E   查看磁盤的幾何參數和分區信息:prtvtoc /dev/rdsk/c0t0d0s   顯示已經使用和未使用的i-node數目:   df –F ufs –o i   isalist –v   對于“/proc”中文件可使用文件查看命令瀏覽其內容,文件中包含系統特定信息:   主機CPU信息:Cpuinfo   主機DMA通道信息:Dma   文件系統信息:Filesystems   主機中斷信息:Interrupts   主機I/O端口號信息:Ioprots   主機內存信息:Meninfo   Linux內存版本信息:Version 備注: proc – process information pseudo-filesystem 進程信息偽裝文件系統 ``` #### 機房帶寬測速 大促來臨,需要為外網IP增加帶寬,需要測試是否生效 ##### 軟件選擇 ```shell # speedtest-cli https://github.com/sivel/speedtest-cli # 下載 wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py chmod +x speedtest-cli ``` 執行 ```shell # 直接執行測試,自動選擇節點 python speedtest.py # 查看所有節點,獲取ID ./speedtest.py --list|grep -i beijing # 指定節點測試 python speedtest.py --server 18462 ``` #### 增加前后對比 增加前 ```shell Download: 458.67 Mbit/s Upload: 154.39 Mbit/s ``` 增加后 ```shell Download: 458.67 Mbit/s Upload: 154.39 Mbit/s ``` #### 備注 >機房通常在帶寬充足的時候會放開限制,當帶寬資源不足時,才會限制帶寬,所以,如果你的帶寬是300M,可能測試出500M的數據也是正常,可以和機房確認 >speedtest-cli測試不是很準確,需要多次測量求平均值 >iperf是另外的工具,機房建議使用,有興趣的可以學習下 https://iperf.fr/ #### /var/logs/文件解讀 ```shell var/log/messages #包括整體系統信息,其中也包含系統啟動期間的日志。 #此外,mail,cron,daemon,kern和auth等內容也記錄在var/log/messages日志中。 /var/log/dmesg #包含內核緩沖信息(kernel ring buffer)。在系統啟動時,會在屏幕上顯示許多與硬件有關的信息。可以用dmesg查看它們。 /var/log/auth.log #包含系統授權信息,包括用戶登錄和使用的權限機制等。 /var/log/boot.log #包含系統啟動時的日志。 /var/log/daemon.log #包含各種系統后臺守護進程日志信息。 /var/log/dpkg.log #包括安裝或dpkg命令清除軟件包的日志。 /var/log/kern.log #包含內核產生的日志,有助于在定制內核時解決問題。 /var/log/lastlog #記錄所有用戶的最近信息。這不是一個ASCII文件,因此需要用lastlog命令查看內容。 /var/log/maillog /var/log/mail.log #包含來著系統運行電子郵件服務器的日志信息。例如,sendmail日志信息就全部送到這個文件中。 /var/log/user.log #記錄所有等級用戶信息的日志。 /var/log/Xorg.x.log #來自X的日志信息。 /var/log/alternatives.log #更新替代信息都記錄在這個文件中。 /var/log/btmp #記錄所有失敗登錄信息。使用last命令可以查看btmp文件。例如,”last -f /var/log/btmp | more“。 /var/log/cups #涉及所有打印信息的日志。 /var/log/anaconda.log #在安裝Linux時,所有安裝信息都儲存在這個文件中。 /var/log/yum.log #包含使用yum安裝的軟件包信息。 /var/log/cron #每當cron進程開始一個工作時,就會將相關信息記錄在這個文件中。 /var/log/secure #包含驗證和授權方面信息。例如,sshd會將所有信息記錄(其中包括失敗登錄)在這里。 /var/log/wtmp或/var/log/utmp #包含登錄信息。使用wtmp可以找出誰正在登陸進入系統,誰使用命令顯示這個文件或信息等。 /var/log/faillog #包含用戶登錄失敗信息。此外,錯誤登錄命令也會記錄在本文件中。 ``` 除了上述Log文件以外, /var/log還基于系統的具體應用包含以下一些子目錄: ``` /var/log/httpd/或/var/log/apache2 #包含服務器access_log和error_log信息。 /var/log/lighttpd/ #包含light HTTPD的access_log和error_log。 /var/log/mail/ #這個子目錄包含郵件服務器的額外日志。 /var/log/prelink/ #包含.so文件被prelink修改的信息。 /var/log/audit/ #包含被 Linux audit daemon儲存的信息。 /var/log/samba/ #包含由samba存儲的信息。 /var/log/sa/ #包含每日由sysstat軟件包收集的sar文件。 /var/log/sssd/ #用于守護進程安全服務。 ``` 除了手動存檔和清除這些日志文件以外,還可以使用logrotate在文件達到一定大小后自動刪除。可以嘗試用vi,tail,grep和less等命令查看這些日志文件。 #### 解鎖Fail2ban封鎖的一個IP,sshd是配置文件中的域名字 ``` fail2ban-client set sshd unbanip 10.15.203.50 ``` #### 用法 ``` find . -mtime N # 實際上你應該這樣理解.. N * 24 +1 內表示 1 * 24 +24小時以外.. +0 才表示 0 * 24 +24小時以外 1 表示 1*24 + 24 到 24 之間.. 0 表示 0*24 + 24 到 0 之間.. -1 表示 0*24 +24 內,甚至為未來時間... ``` 記住0也是自然數.... ![](index_files/4da7d652-c076-41c2-80a4-e653aaba2269.jpg) #### 過濾目錄 -path ./a -o -path ./b -prune -o -type f #### 磁盤測速hdparm ```shell -a<快取分區> 設定讀取文件時,預先存入塊區的分區數,若不加上<快取分區>選項,則顯示目前的設定。 -A<0或1> 啟動或關閉讀取文件時的快取功能。 -c<I/O模式> 設定IDE32位I/O模式。 -C 檢測IDE硬盤的電源管理模式。 -d<0或1> 設定磁盤的DMA模式。 -f 將內存緩沖區的數據寫入硬盤,并清楚緩沖區。 -g 顯示硬盤的磁軌,磁頭,磁區等參數。 -h 顯示幫助。 -i 顯示硬盤的硬件規格信息,這些信息是在開機時由硬盤本身所提供。 -I 直接讀取硬盤所提供的硬件規格信息。 -k<0或1> 重設硬盤時,保留-dmu參數的設定。 -K<0或1> 重設硬盤時,保留-APSWXZ參數的設定。 -m<磁區數> 設定硬盤多重分區存取的分區數。 -n<0或1> 忽略硬盤寫入時所發生的錯誤。 -p<PIO模式> 設定硬盤的PIO模式。 -P<磁區數> 設定硬盤內部快取的分區數。 -q 在執行后續的參數時,不在屏幕上顯示任何信息。 -r<0或1> 設定硬盤的讀寫模式。 -S<時間> 設定硬盤進入省電模式前的等待時間。 -t 評估硬盤的讀取效率(不經過磁盤cache)。 -T 平估硬盤快取的讀取效率。 -u<0或1> 在硬盤存取時,允許其他中斷要求同時執行。 -v 顯示硬盤的相關設定。 -W<0或1> 設定硬盤的寫入快取。 -X<傳輸模式> 設定硬盤的傳輸模式。 -y 使IDE硬盤進入省電模式。 -Y 使IDE硬盤進入睡眠模式。 -Z 關閉某些Seagate硬盤的自動省電功能。 ``` 測試 ```shell hdparm -tT /dev/vdc1 ``` #### page allocation failure https://yq.aliyun.com/articles/228285 ``` vm.zone_reclaim_mode = 1 vm.min_free_kbytes = 512000 ``` #### 磁盤空間占滿的排查思路 cannot create temp file for here-document: No space left on device 由于磁盤空間不夠導致,一般是代日志滿了,檢查服務日志和系統日志 #### 磁盤修復 ```shell fsck -y -C -t ext3 /dev/sda1 一般情況下修復完成后,所有文件移動到 lost+found目錄,文件名會被改變 -C 顯示進度條 -t 指定文件系統類型 -y 默認自動yes修復 ``` 以上內容摘自[琴酒網絡](https://www.cnblogs.com/ginvip/ "琴酒網絡") #### 磁盤系統只讀 簡單處理 ```shell mount -o rw,remount / ``` 如果提示device is busy 使用fuser解決占用 ```shell fuser -m /boot ##將會顯示使用這個模塊的pid fuser -mk /boot ##將會直接kill那個pid ``` 有的時候也不好使,只能重啟了 以上內容摘自[琴酒網絡](https://www.cnblogs.com/ginvip/ "琴酒網絡") #### linux 掛載錯誤Transport endpoint is not connected ``` mount了mfs后,重新掛載之后,出現如下錯誤: /usr/local/mfs/bin/mfsmount -H 192.168.103.101 /mnt/ fuse: bad mount point `/mnt/': Transport endpoint is not connected see: /usr/local/mfs/bin/mfsmount -h for help 解決方法: 1、kill進程; 2、umount 3、重新mount ps aux | grep mfs umount –l /mnt /usr/local/mfs/bin/mfsmount -H 192.168.103.101 /mnt/ ``` #### Centos SSH自動斷開 ```shell 修改/etc/ssh/sshd_config文件 ClientAliveCountMax 3 服務器發出請求后客戶端沒有響應的次數, 就自動斷開 ClientAliveInterval 60 表示每分鐘發送一次 ``` #### 制作Swap分區,MySQL被OOM ```shell dd if=/dev/zero of=/swapfile bs=1M count=1024 mkswap /swapfile swapon /swapfile # /etc/fstab增加 /swapfile swap swap defaults 0 0 ``` #### 關閉IPV6 ##### 方法 1 /etc/sysctl.conf 添加 ```shell net.ipv6.conf.all.disable_ipv6 =1 net.ipv6.conf.default.disable_ipv6 =1 ``` 如果想要為特定的網卡禁止IPv6,比如,對于enp0s3,添加下面的行。 ```shell net.ipv6.conf.enp0s3.disable_ipv6 =1 ``` 執行下面的命令來使設置生效。 ```shell sysctl -p ``` ##### 方法 2(未測試) 要在運行的系統中禁止IPv6,依次輸入下面的命令: ```shell echo 1>/proc/sys/net/ipv6/conf/all/disable_ipv6 echo 1>/proc/sys/net/ipv6/conf/default/disable_ipv6 或者 sysctl -w net.ipv6.conf.all.disable_ipv6=1 sysctl -w net.ipv6.conf.default.disable_ipv6=1 ``` 就是這樣。現在IPv6已經禁止了。 #### 修改系統運行級別 #### 操作系統:Centos5/6 ```shell 修改/etc/inittab ``` #### 操作系統:Centos7 ##### 方法一 ```shell systemctl isolate multi-user.target ``` ##### 方法二 ```shell systemctl set-default multi-user.target ``` 本質是修改/etc/systemd/system/default.target的軟鏈接 ##### 手動 ```shell rm -f /etc/systemd/system/default.target ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target ``` #### Linux下刪除大文件(硬連接方式) >原理: 當多個文件共同指向同一inode、inode鏈接數N>1、刪除任何一個文件都是巨快。因為、此時刪除的僅僅是指向inode的指針,而當N=1時、則不一樣了、此時刪除的文件相關的所有數據塊、所以慢 測試: ```shell root@ # ln stock.ibd stock.id.hdlk root@ # ls stock.* -l -rw-rw—- 1 mysql mysql 9196 Apr 14 23:03 stock.frm -rw-r–r– 2 mysql mysql 19096666112 Apr 15 09:55 stock.ibd -rw-r–r– 2 mysql mysql 19096666112 Apr 15 09:55 stock.id.hdlk ``` 你會發現stock.ibd的INODES屬性變成了2; ```shell root@127.0.0.1 : test 21:39:34> drop table stock ; Query OK, 0 rows affected (0.99 sec) ``` 1秒不到就刪除完成; 也就是DROP TABLE不用再HANG這么久了。 但table是刪除了,數據文件還在,所以你還需要最后數據文件給刪除。 ```shell root # rm stock.id.hdlk ``` 最后一步刪除原始大文件也可以選擇rsync來刪除、比rm快多了 #### 壓縮傳輸數據 服務器兩臺A和B,A可以免密鑰登錄B ```shell yum install pv lz4 time tar -c Oracle9i-32-win/ |pv|lz4 -B4|ssh -c arcfour128 -o"MACs umac-64@openssh.com" 192.168.0.244 "lz4 -d |tar -xC /tmp" ``` #### 文件描述符設置 在bash中,有個ulimit命令,提供了對shell及該shell啟動的進程的可用資源控制。主要包括打開文件描述符數量、用戶的最大進程數量、coredump文件的大小等。 >在centos 5/6 等版本中,資源限制的配置可以在 /etc/security/limits.conf 設置,針對root/user等各個用戶或者*代表所有用戶來設置。 當然,/etc/security/limits.d/ 中可以配置,系統是先加載limits.conf然后按照英文字母順序加載limits.d目錄下的配置文件,后加載配置覆蓋之前的配置。 一個配置示例如下: ```shell * soft nofile 65535 * hard nofile 65535 * soft nproc 65535 * hard nproc 65535 ``` >不過,在CentOS 7/RHEL 7的系統中,使用Systemd替代了之前的SysV,因此 /etc/security/limits.conf 文件的配置作用域縮小了一些。 limits.conf只適用于通過PAM認證登錄用戶的資源限制,它對systemd的service的資源限制不生效。登錄用戶的限制,與上面講的一樣,通過 /etc/security/limits.conf 和 limits.d 來配置即可。 對于systemd service的資源限制,如何配置呢? 全局的配置,放在文件 ```shell /etc/systemd/system.conf 和 /etc/systemd/user.conf ``` 同時,也會加載兩個對應的目錄中的所有.conf文件(默認沒有) ```shell /etc/systemd/system.conf.d/*.conf 和 /etc/systemd/user.conf.d/*.conf ``` 其中 ```shell system.conf 是系統實例使用的, user.conf用戶實例使用的。 一般的sevice,使用system.conf中的配置即可。 systemd.conf.d/*.conf中配置會覆蓋system.conf。 ``` ```shell DefaultLimitCORE=infinity DefaultLimitNOFILE=65535 DefaultLimitNPROC=65535 ``` 注意:修改了system.conf后,需要重啟系統才會生效。 針對單個Service,也可以設置,以nginx為例。 ```shell 編輯 /usr/lib/systemd/system/nginx.service 或者 /usr/lib/systemd/system/nginx.service.d/my-limit.conf 文件,做如下配置: ``` ```shell [Service] LimitCORE=infinity LimitNOFILE=65535 LimitNPROC=65535 ``` 運行如下命令,才能生效。 ```shell sudo systemctl daemon-reload sudo systemctl restart nginx.service ``` > 注意:CentOS7自帶的/etc/security/limits.d/20-nproc.conf里面默認設置了非root用戶的最大進程數為4096,limits.conf設置沒效果,limit.d目錄中的配置覆蓋了。 參考文檔: man systemd man systemd-system.conf man bash 搜索一下ulimit #### Centos 6 x86_64 glibc 2.12 升級2.14 ```shell rpm -Uvh glibc-2.14.1-6.x86_64.rpm glibc-common-2.14.1-6.x86_64.rpm glibc-headers-2.14.1-6.x86_64.rpm glibc-devel-2.14.1-6.x86_64.rpm nscd-2.14.1-6.x86_64.rpm ``` #### U盤部署系統經驗 >U盤安裝系統時候,要注意引導設置中選擇硬盤,而不是U盤,要不引導信息被寫入U盤,系統就白裝了 #### 增加硬盤(阿里云環境) 備注:阿里云購買磁盤,注意和服務器相同分區 ```shell # 格式化磁盤 fdisk -l fdisk /dev/sdb 輸入n 輸入p 輸入1,添加主分區 回車到結束 wq保存退出 # 格式化磁盤 mkfs.ext4 /dev/sdb1 # 手動掛載 mount /dev/sdb1 /data # 設置開機啟動(/etc/fstab增加) /dev/sdb1 /data ext4 defaults 0 0 ``` #### 失敗案例 >情況: 阿里云購買100GB磁盤,準備擴容,在分區保存時用了10多分鐘,非常不正常,格式化時間也用了10多分鐘。這兩個過程應該非常快,大家遇到一定注意,釋放后重新購買。 >故障:本著懷疑的態度,對硬盤測速,hdparm -tT /dev/vdc1 執行后服務器直接中斷,系統重啟用了20分鐘,起來后,心磁盤掛載不上,提示沒有格式化。 建議1:阿里云工程師響應遲緩(不正面響應問題),建議大家做好備份,別太指望阿里云的工程師解決這種偶然性的底層故障。 建議2:遷移數據前,做好快照。 #### 增加硬盤(服務器環境) 環境介紹 - 西數4T紅盤 - 公司內部FTP服務器用(臺式機) #### 格式化 ```shell 同阿里云分區 ``` > ##### 注意一個細節:由于默認操作系統中沒有綁定磁盤盤符,增加一塊磁盤后,重啟后的4T磁盤的盤符變成了sda,而原有硬盤變成了sdb, > ##### 解決:通過UUID方式掛載磁盤 #### blkid獲取磁盤UUID ```shell #blkid /dev/sdb1: UUID="46a60431-9969-4567-be9c-c3c33eb5af17" TYPE="ext4" /dev/sdb2: UUID="1b50ba56-a085-468d-8913-f434d84989c7" TYPE="swap" /dev/sdb3: UUID="e3244801-7922-4a97-aa52-edbc5a4b82b0" TYPE="ext4" /dev/sda: UUID="3f1fe202-9575-4c64-9d9b-16674ef9f350" TYPE="ext4" ``` 將UUID寫在fstab中,避免多塊磁盤產生的磁盤盤符變化 ```shell UUID="3f1fe202-9575-4c64-9d9b-16674ef9f350" /data/ftp_data ext4 defaults 1 1 ``` >備注:由于是FTP數據盤,所以設置備份和檢測策略同系統根目錄配置
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看