<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DevOps VN</title><link>https://blog.devopsvn.xyz/</link><description>Recent content on DevOps VN</description><generator>Hugo</generator><language>vi-VN</language><lastBuildDate>Wed, 07 Oct 2026 21:29:09 +0700</lastBuildDate><atom:link href="https://blog.devopsvn.xyz/feed.xml" rel="self" type="application/rss+xml"/><item><title>[2025-07] Hướng dẫn cài đặt và unlock OpenVPN Access server version 2.14.3</title><link>https://blog.devopsvn.xyz/2025/07/07/2025-07-huong-dan-cai-dat-va-unlock-openvpn-access-server-version-2-14-3/</link><pubDate>Mon, 07 Jul 2025 14:16:36 +0700</pubDate><guid>https://blog.devopsvn.xyz/2025/07/07/2025-07-huong-dan-cai-dat-va-unlock-openvpn-access-server-version-2-14-3/</guid><description>&lt;p class="wp-block-paragraph"&gt;Nối tiếp bài viết cũ: &lt;a href="https://blog.devopsvn.xyz/2021/07/29/huong-dan-cai-dat-va-unlock-openvpn-access-server/"&gt;/2021/07/29/huong-dan-cai-dat-va-unlock-openvpn-access-server/&lt;/a&gt;&lt;/p&gt;&#10;&#10;&#10;&#10;&lt;p class="wp-block-paragraph"&gt;Sau nhiều năm, openvpn access server đã update rất nhiều, tới thời điểm hiện tại 2025-Jul-07, version mới nhất là 2.14.3. về cơ bản phương thức active cũ vẫn hoạt động. Tuy nhiên các bạn làm theo sẽ không thể nào recompile được uprop do version python họ sử dụng được nâng cấp, dẫn đến các thư viện dịch ngược không còn hoạt động đủ tốt. Các bạn hãy thay thế ucomplete bằng các giải pháp khác như PyLingual, nếu không thể compile thì đọc lại code xem có bị dịch lỗi không, mình kiểm tra thấy họ dịch đủ text nhưng các dấu indent, dấu cách bị lỗi dẫn tới lỗi cú pháp, so sánh với các phiên bản cũ thì có thể sửa lại bằng tay các phần này.&lt;/p&gt;</description></item><item><title>SSH from older Linux versions to Alma Linux 9</title><link>https://blog.devopsvn.xyz/2025/03/26/ssh-from-older-linux-versions-to-alma-linux-9/</link><pubDate>Wed, 26 Mar 2025 10:23:36 +0700</pubDate><guid>https://blog.devopsvn.xyz/2025/03/26/ssh-from-older-linux-versions-to-alma-linux-9/</guid><description>&lt;p class="wp-block-paragraph"&gt;SSH hoặc git tới server Alma Linux 9 từ các máy chủ có version Linux thấp hơn có thể báo lỗi:&lt;br&gt;Unable to negotiate with 172.16.28.11 port 22: no matching key exchange method found. Their offer: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,kex-strict-s-v00@openssh.com&lt;/p&gt;&#10;&#10;&#10;&#10;&lt;p class="wp-block-paragraph"&gt;Cách xử lý:&lt;br&gt;Cách 1:&lt;br&gt;Option 1: In Almalinux 9, execute&lt;/p&gt;&#10;&#10;&#10;&#10;&lt;p class="wp-block-paragraph"&gt;&lt;code&gt;update-crypto-policies --set DEFAULT:SHA1&lt;/code&gt;&lt;br&gt;reboot&lt;/p&gt;&#10;&#10;&#10;&#10;&lt;p class="wp-block-paragraph"&gt;Cách 2:&lt;br&gt;Option 2: In Almalinux 9, thêm vào file /etc/crypto-policies/back-ends/opensshserver.config :&lt;/p&gt;&#10;&#10;&#10;&#10;&lt;pre class="wp-block-code"&gt;&lt;code&gt;RSAMinSize 1024&#10;PubkeyAcceptedKeyTypes +ssh-rsa&#10;&#10;rồi &lt;span style="background-color: initial; font-size: inherit;"&gt;reboot&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&#10;&#10;&#10;&#10;&lt;p class="wp-block-paragraph"&gt;&lt;/p&gt;</description></item><item><title>How to recovery/reset Cisco Nexus 7K/9K admin password</title><link>https://blog.devopsvn.xyz/2024/06/14/how-to-recovery-reset-cisco-nexus-7k-9k-admin-password/</link><pubDate>Fri, 14 Jun 2024 09:46:16 +0700</pubDate><guid>https://blog.devopsvn.xyz/2024/06/14/how-to-recovery-reset-cisco-nexus-7k-9k-admin-password/</guid><description>&lt;p&gt;&lt;strong&gt;How to reset/recovery Cisco Nexus 7K/9K admin password &lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;If you&amp;#8217;ve forgotten the admin password for your Cisco Nexus device, you can reset/recovery it with the following steps:&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;&lt;br /&gt;&#10;Press CTRL+C during the boot sequence until you see &amp;#8220;loader&amp;gt;&amp;#8221; prompt&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt;&lt;br /&gt;&#10;Enable recovery mode before the boot&lt;br /&gt;&#10;loader&amp;gt; cmdline recoverymode=1&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Step 3&lt;br /&gt;&#10;&lt;/strong&gt;If you have a previously image loaded just choose that one. Type dir command to see a list of binary files.&lt;br /&gt;&#10;But if there is no boot image you can use a USB port and a USB stick FAT32 formatted and containing a suitable binary firmware (.bin).&lt;br /&gt;&#10;boot &amp;lt;image on USB or on bootflash&amp;gt;&lt;br /&gt;&#10;example: boot usb2:nxos.9.3.11.bin or boot bootflash:nxos.9.3.11.bin&lt;/p&gt;</description></item><item><title>[tip and trick] Scaledown/scaleup deamonset trên K8S</title><link>https://blog.devopsvn.xyz/2024/05/06/tip-and-trick-scaledown-scaleup-deamonset-tren-k8s/</link><pubDate>Mon, 06 May 2024 11:03:47 +0700</pubDate><guid>https://blog.devopsvn.xyz/2024/05/06/tip-and-trick-scaledown-scaleup-deamonset-tren-k8s/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-485" src="https://blog.devopsvn.xyz/wp-content/uploads/2024/05/kubernetes-15395717142261348450270-0-57-799-1479-crop-1539571719483162513005.jpg" alt="" width="1422" height="799" srcset="https://blog.devopsvn.xyz/wp-content/uploads/2024/05/kubernetes-15395717142261348450270-0-57-799-1479-crop-1539571719483162513005.jpg 1422w, https://blog.devopsvn.xyz/wp-content/uploads/2024/05/kubernetes-15395717142261348450270-0-57-799-1479-crop-1539571719483162513005-300x169.jpg 300w, https://blog.devopsvn.xyz/wp-content/uploads/2024/05/kubernetes-15395717142261348450270-0-57-799-1479-crop-1539571719483162513005-768x432.jpg 768w, https://blog.devopsvn.xyz/wp-content/uploads/2024/05/kubernetes-15395717142261348450270-0-57-799-1479-crop-1539571719483162513005-1024x575.jpg 1024w, https://blog.devopsvn.xyz/wp-content/uploads/2024/05/kubernetes-15395717142261348450270-0-57-799-1479-crop-1539571719483162513005-890x500.jpg 890w" sizes="auto, (max-width: 1422px) 100vw, 1422px" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Đôi lúc muốn dừng chạy 1 số pod nào đó, nhưng lại ko muốn xóa nó đi, có thể chạy lại sau này.&lt;br /&gt;&#10;Với deployment thì có thể set replica = 0 là xong, nhưng với deamonset thì ko được.&lt;/p&gt;&#10;&lt;p&gt;Có thể xài trick như sau:&lt;br /&gt;&#10;Scaledown&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;kubectl -n &amp;lt;namespace&amp;gt; patch daemonset &amp;lt;daemonset name&amp;gt; -p '{"spec": {"template": {"spec": {"nodeSelector": {"non-existing": "true"}}}}}'&#10;&#10;&lt;/pre&gt;&#10;&lt;p&gt;Scale UP:&lt;/p&gt;</description></item><item><title>Nâng cấp windows server từ Evaluation lên Standard, Datacenter</title><link>https://blog.devopsvn.xyz/2024/04/15/nang-cap-windows-server-tu-evaluation-len-standard-datacenter/</link><pubDate>Mon, 15 Apr 2024 18:23:19 +0700</pubDate><guid>https://blog.devopsvn.xyz/2024/04/15/nang-cap-windows-server-tu-evaluation-len-standard-datacenter/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-219" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/security-new-Web-Image-800x534.jpg" alt="" width="800" height="534" /&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Lệnh nâng cấp từ Windows Server Evaluation lên Windows Server Standard&lt;/strong&gt;&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;DISM /Online /Set-Edition:ServerStandard /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula&#10;&#10;&lt;/pre&gt;&#10;&lt;p&gt;&lt;strong&gt;Lệnh nâng cấp từ Windows Server Evaluation lên Windows Server Datacenter&lt;/strong&gt;&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;DISM /Online /Set-Edition:ServerDatacenter /ProductKey:XXXXX-XXXXX-XXXXX-XXXXX-XXXXX /AcceptEula&#10;&#10;&lt;/pre&gt;&#10;&lt;p&gt;Trong đó: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX bạn hãy thay bằng key&lt;/p&gt;&#10;&lt;div class="dataTables_scrollHead"&gt;&#10;&lt;div class="dataTables_scrollHeadInner"&gt;&lt;/div&gt;&#10;&lt;/div&gt;&#10;&lt;div class="dataTables_scrollBody"&gt;&#10;&lt;table id="tablepress-25" class="tablepress tablepress-id-25 dataTable no-footer"&gt;&#10;&lt;thead&gt;&#10;&lt;tr class="row-1 odd"&gt;&#10;&lt;th class="column-1 sorting_disabled" colspan="1" rowspan="1"&gt;&#10;&lt;div class="dataTables_sizing"&gt;&lt;/div&gt;&#10;&lt;/th&gt;&#10;&lt;th class="column-2 sorting_disabled" colspan="1" rowspan="1"&gt;&#10;&lt;div class="dataTables_sizing"&gt;Windows Server Standard&lt;/div&gt;&#10;&lt;/th&gt;&#10;&lt;th class="column-3 sorting_disabled" colspan="1" rowspan="1"&gt;&#10;&lt;div class="dataTables_sizing"&gt;Windows Server Datacenter&lt;/div&gt;&#10;&lt;/th&gt;&#10;&lt;/tr&gt;&#10;&lt;/thead&gt;&#10;&lt;tbody class="row-hover"&gt;&#10;&lt;tr class="row-2 even"&gt;&#10;&lt;td class="column-1"&gt;Bản 2022&lt;/td&gt;&#10;&lt;td class="column-2"&gt;VDYBN-27WPP-V4HQT-9VMD4-VMK7H&lt;/td&gt;&#10;&lt;td class="column-3"&gt;WX4NM-KYWYW-QJJR4-XV3QB-6VM33&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr class="row-3 odd"&gt;&#10;&lt;td class="column-1"&gt;Bản 2019&lt;/td&gt;&#10;&lt;td class="column-2"&gt;N69G4-B89J2-4G8F4-WWYCC-J464C&lt;/td&gt;&#10;&lt;td class="column-3"&gt;WMDGN-G9PQG-XVVXX-R3X43-63DFG&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr class="row-4 even"&gt;&#10;&lt;td class="column-1"&gt;Bản 2016&lt;/td&gt;&#10;&lt;td class="column-2"&gt;WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY&lt;/td&gt;&#10;&lt;td class="column-3"&gt;CB7KF-BWN84-R7R2Y-793K2-8XDDG&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr class="row-5 odd"&gt;&#10;&lt;td class="column-1"&gt;Bản 2012&lt;/td&gt;&#10;&lt;td class="column-2"&gt;XC9B7-NBPP2-83J2H-RHMBY-92BT4&lt;/td&gt;&#10;&lt;td class="column-3"&gt;48HP8-DN98B-MYWDG-T2DCC-8W83P&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr class="row-6 even"&gt;&#10;&lt;td class="column-1"&gt;Bản 2008&lt;/td&gt;&#10;&lt;td class="column-2"&gt;TM24T-X9RMF-VWXK6-X8JC9-BFGM2&lt;/td&gt;&#10;&lt;td class="column-3"&gt;7M67G-PC374-GR742-YH8V4-TCBY3&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Cài đặt cụm elasticsearch cluster 3 node</title><link>https://blog.devopsvn.xyz/2024/01/02/cai-dat-cum-elasticsearch-cluster-3-node/</link><pubDate>Tue, 02 Jan 2024 21:08:07 +0700</pubDate><guid>https://blog.devopsvn.xyz/2024/01/02/cai-dat-cum-elasticsearch-cluster-3-node/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-38" src="https://blog.devopsvn.xyz/wp-content/uploads/2018/10/100918_0004_Nhnggbnc1.png" alt="" width="384" height="131" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Môi trường cài đặt:&lt;br /&gt;&#10;&amp;#8211; node1: 10.144.39.21&lt;br /&gt;&#10;&amp;#8211; node2: 10.144.39.22&lt;br /&gt;&#10;&amp;#8211; node3: 10.144.39.21&lt;/p&gt;&#10;&lt;p&gt;OS 3 máy: ubuntu 20.04&lt;br /&gt;&#10;ES cài đặt: bản mới nhất trên trang chủ: https://www.elastic.co/downloads/elasticsearch&lt;/p&gt;&#10;&lt;p&gt;Khai báo hostname của cả 3 máy vào file hosts, để 3 máy ping hostname của nhau được.&lt;/p&gt;&#10;&lt;pre class="lang:sh decode:true"&gt;cat &amp;gt; /etc/hosts &amp;lt;&amp;lt; EOF&#10;&#10;127.0.0.1 localhost&#10;&#10;&#10;&#10;# The following lines are desirable for IPv6 capable hosts&#10;&#10;::1 ip6-localhost ip6-loopback&#10;&#10;fe00::0 ip6-localnet&#10;&#10;ff00::0 ip6-mcastprefix&#10;&#10;ff02::1 ip6-allnodes&#10;&#10;ff02::2 ip6-allrouters&#10;&#10;&#10;&#10;10.144.39.21 es01&#10;&#10;10.144.39.22 es02&#10;&#10;10.144.39.23 es03&#10;&#10;EOF&#10;&#10;&lt;/pre&gt;&#10;&lt;p&gt;Cài đặt Elasticsearch service trên cả 3 máy&lt;br /&gt;&#10;Download file cài đặt&lt;/p&gt;</description></item><item><title>etcd Cheat Sheet</title><link>https://blog.devopsvn.xyz/2023/12/24/etcd-cheat-sheet/</link><pubDate>Sun, 24 Dec 2023 21:50:58 +0700</pubDate><guid>https://blog.devopsvn.xyz/2023/12/24/etcd-cheat-sheet/</guid><description>&lt;h1&gt;etcd Cheat Sheet&lt;/h1&gt;&#10;&lt;p&gt;This cheat sheet is for etcd v3 only!&lt;/p&gt;&#10;&lt;h2 id="cli-commands"&gt;&lt;/h2&gt;&#10;&lt;p&gt;Cluster infos&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;etcdctl get /_etc/machines/&amp;lt;token&amp;gt; # Details of a host&#10;&#10;etcdctl get /_etc/config&lt;/pre&gt;&#10;&lt;p&gt;Accessing the key space&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;etcdctl get "" --prefix --keys-only # Get full tree&#10;&#10;etcdctl get "" --prefix # Get full tree keys and values&#10;&#10;&#10;&#10;etcdctl get &amp;lt;key path&amp;gt; # Get key details&#10;&#10;etcdctl get &amp;lt;key path&amp;gt; --print-value-only # Get key value only&#10;&#10;etcdctl get &amp;lt;key path&amp;gt; --rev=&amp;lt;number&amp;gt; # Get older revision of a key&#10;&#10;etcdctl -o extended get &amp;lt;key path&amp;gt; # Get key and metadata&#10;&#10;etcdctl get &amp;lt;key path&amp;gt; -w=json # Output in JSON with metadata&lt;/pre&gt;&#10;&lt;p&gt;Batch queries&lt;/p&gt;</description></item><item><title>Reserved disk space on the root partition in Linux</title><link>https://blog.devopsvn.xyz/2022/05/28/reserved-disk-space-on-the-root-partition-in-linux/</link><pubDate>Sat, 28 May 2022 10:14:50 +0700</pubDate><guid>https://blog.devopsvn.xyz/2022/05/28/reserved-disk-space-on-the-root-partition-in-linux/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-206" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/06/linux-penguin-security-100694867-large.jpg" alt="" width="700" height="467" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Các hệ thống linux sử dụng file system như ext4,ext3-2 mặc định dành ra 5% disk cho phân vùng root. Việc này nhằm đảm bảo người quản trị còn có thể vào server để thao tác, hệ thống còn có thể ghi 1 chút log kể cả khi ổ cứng gần đầy. ví dụ như server bên dưới ổ đầy 100% nhưng người quản trị vẫn có thể truy cập được, vẫn check được log, xem history và suy nghĩ xem nên xoá gì.&lt;/p&gt;</description></item><item><title>Tính nhẩm quy đổi umask và permission của file và folder trong linux</title><link>https://blog.devopsvn.xyz/2022/05/28/tinh-nham-quy-doi-umask-va-permission-cua-file-va-folder-trong-linux/</link><pubDate>Sat, 28 May 2022 09:58:41 +0700</pubDate><guid>https://blog.devopsvn.xyz/2022/05/28/tinh-nham-quy-doi-umask-va-permission-cua-file-va-folder-trong-linux/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-206" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/06/linux-penguin-security-100694867-large.jpg" alt="" width="700" height="467" /&gt;Umask là gì thì xem lại bài này&lt;br /&gt;&#10;&lt;a href="https://www.google.com/search?q=umask&amp;amp;sxsrf=ALiCzsYLa3OUqa9KUNjTUUXDM4XAv9zIcQ:1653706406822&amp;amp;ei=po6RYv3oMcji-Ab7-o7wAw&amp;amp;start=0&amp;amp;sa=N&amp;amp;ved=2ahUKEwj908O3mIH4AhVIMd4KHXu9Az44ChDy0wN6BAgBEDs&amp;amp;biw=1920&amp;amp;bih=947&amp;amp;dpr=1" target="_blank" rel="noopener"&gt;Umask là gì&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Câu hỏi này nếu thi LPI sẽ bị hỏi, mình note ra đây để ghi nhớ cho bản thân. Hy vọng người khác google tìm thấy cũng sẽ hữu ích&lt;/p&gt;&#10;&lt;p&gt;Trong Linux, khi một file hay một thư mục được tạo ra thì các quyền hạn truy cập đối với chúng là &lt;em&gt;(read, write, execute)&lt;/em&gt; cho các chủ thể &lt;em&gt;(owner, group, other)&lt;/em&gt; sẽ được xác định dựa trên hai giá trị là quyền truy nhập cơ sở &lt;em&gt;(base permission)&lt;/em&gt; và mặt nạ &lt;em&gt;(mask)&lt;/em&gt;.&lt;/p&gt;</description></item><item><title>[Scripts] tìm và khoá user không hoạt động trong vòng 90 ngày trên active directiory</title><link>https://blog.devopsvn.xyz/2022/02/12/scripts-tim-va-khoa-user-khong-hoat-dong-trong-vong-90-ngay-tren-active-directiory/</link><pubDate>Sat, 12 Feb 2022 10:34:41 +0700</pubDate><guid>https://blog.devopsvn.xyz/2022/02/12/scripts-tim-va-khoa-user-khong-hoat-dong-trong-vong-90-ngay-tren-active-directiory/</guid><description>&lt;p&gt;Script tìm và disable các account không đăng nhập trong vòng 90 ngày trên AD&lt;/p&gt;&#10;&lt;pre class="lang:ps decode:true "&gt;# disableUsers.ps1 &#10;&#10;# Set msDS-LogonTimeSyncInterval (days) to a sane number. By&#10;&#10;# default lastLogonDate only replicates between DCs every 9-14 &#10;&#10;# days unless this attribute is set to a shorter interval.&#10;&#10; &#10;&#10;# Also, make sure to create the EventLog source before running, or&#10;&#10;# comment out the Write-EventLog lines if no event logging is&#10;&#10;# needed. Only needed once on each machine running this script.&#10;&#10;# New-EventLog -LogName Application -Source "DisableUsers.ps1"&#10;&#10; &#10;&#10;# Remove "-WhatIf"s before putting into production.&#10;&#10; &#10;&#10;Import-Module ActiveDirectory&#10;&#10; &#10;&#10;$inactiveDays = 90&#10;&#10;$neverLoggedInDays = 90&#10;&#10;$disableDaysInactive=(Get-Date).AddDays(-($inactiveDays))&#10;&#10;$disableDaysNeverLoggedIn=(Get-Date).AddDays(-($neverLoggedInDays))&#10;&#10; &#10;&#10;# Identify and disable users who have not logged in in x days&#10;&#10; &#10;&#10;$disableUsers1 = Get-ADUser -Filter {Enabled -eq $TRUE} -Properties lastLogonDate, whenCreated, distinguishedName | Where-Object {($_.lastLogonDate -lt $disableDaysInactive) -and ($_.lastLogonDate -ne $NULL)}&#10;&#10; &#10;&#10; $disableUsers1 | ForEach-Object {&#10;&#10; Disable-ADAccount $_&#10;&#10; #Write-EventLog -Source "DisableUsers.ps1" -EventId 9090 -LogName Application -Message "Attempted to disable user $_ because the last login was more than $inactiveDays ago."&#10;&#10; }&#10;&#10; &#10;&#10;# Identify and disable users who were created x days ago and never logged in.&#10;&#10; &#10;&#10;$disableUsers2 = Get-ADUser -Filter {Enabled -eq $TRUE} -Properties lastLogonDate, whenCreated, distinguishedName | Where-Object {($_.whenCreated -lt $disableDaysNeverLoggedIn) -and (-not ($_.lastLogonDate -ne $NULL))}&#10;&#10; &#10;&#10;$disableUsers2 | ForEach-Object {&#10;&#10; Disable-ADAccount $_&#10;&#10; #Write-EventLog -Source "DisableUsers.ps1" -EventId 9091 -LogName Application -Message "Attempted to disable user $_ because user has never logged in and $neverLoggedInDays days have passed."&#10;&#10; }&lt;/pre&gt;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Hướng dẫn cài đặt và unlock OpenVPN Access server</title><link>https://blog.devopsvn.xyz/2021/07/29/huong-dan-cai-dat-va-unlock-openvpn-access-server/</link><pubDate>Thu, 29 Jul 2021 12:19:11 +0700</pubDate><guid>https://blog.devopsvn.xyz/2021/07/29/huong-dan-cai-dat-va-unlock-openvpn-access-server/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="size-full aligncenter" src="https://add.pics/images/2020/08/03/OpenVPN.jpg" width="800" height="167" /&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;1. OpenVPN là gì?&lt;/strong&gt;&lt;br /&gt;&#10;OpenVPN là một phần mềm thương mại mã nguồn mở thực hiện kỹ thuật mạng riêng ảo (VPN) để tạo ra các kết nối điểm-tới-điểm hoặc site-to-site an toàn. Nó dùng một giao thức bảo mật tùy chỉnh sử dụng SSL/TLS để trao đổi khóa. Nó được viết bởi James Yonan và được phát hành theo giấy phép công cộng GNU (GPL).&lt;/p&gt;</description></item><item><title>[Zabbix] Trải ngiệm dựng và tối ưu zabbix 5.4 với database postgres</title><link>https://blog.devopsvn.xyz/2021/06/16/zabbix-trai-ngiem-dung-va-toi-uu-zabbix-5-4-voi-database-postgres/</link><pubDate>Wed, 16 Jun 2021 09:59:13 +0700</pubDate><guid>https://blog.devopsvn.xyz/2021/06/16/zabbix-trai-ngiem-dung-va-toi-uu-zabbix-5-4-voi-database-postgres/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-357" src="https://blog.devopsvn.xyz/wp-content/uploads/2020/05/zabbixhero.jpg" alt="" width="1200" height="938" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Trước khi đi vào phần chính, xin phép chia sẻ quá trình triển khai từ đầu con zabbix này. Hiện con cũ đang xài 5.0, được upgrade nhiều lần từ bản 3.2 lên. Tuy nhiên do nhiều vấn đề xảy ra nên team quyết lên 5.4 thì đập đi xây lại, cuối cùng dừng chân với postgresql&lt;br /&gt;&#10;Việc thay đổi database backend cũng chỉ là thử nghiệm chút thôi, trước đây cũng chưa từng dùng postgres hồi nào. Nhưng quá khứ đã từng sử dụng:&lt;br /&gt;&#10;+ Mysql inodb: đúng theo sách giáo khoa, tối ưu các thứ như tách mỗi bảng thành 1 file, mọi thứ vẫn ổn cho tới khi dữ liệu lên tầm 100GB thì bắt đầu có những case lỗi xảy ra, đôi khi mysql hoạt động full CPU, dù đã tối ưu rất nhiều nhưng slow query vẫn thường xuất hiện. Mysql thì vốn đã phân mảnh, do có 2 nhánh phát triển do oracle  cầm đầu và nhánh mariadb cầm đầu, vì thế các con số để tunning tương ứng mất rất nhiều công sức tìm hiểu của anh em, mà tốn công với DB thế thì AE bỏ nghề làm DBA lương cao hơn devops vs SA nhiều 😀 Trong team bắt đầu manh nha ý nghĩ đổi sang database backend khác.&lt;br /&gt;&#10;+ Oracle database: team có 2 ông DBA oracle nên nghĩ rằng đổi sang orac thì sẽ ngon hơn. Tuy nhiên khi triển khai đã gặp các vấn đề:&lt;br /&gt;&#10;&amp;#8211; Zabbix không có bản build sẵn chạy với oracle: OK cái này k sao, down source về rồi tự build là xong, cái này dễ.&lt;br /&gt;&#10;&amp;#8211; Các table có dung lượng lớn của zabbix: history*, trend* tầm 7 bảng chứa dữ liệu chính và rất nặng. Với mysql bên mình thấy zabbix select where clock xxx nên trường clock của mỗi bảng được đánh partition theo ngày, cứ mỗi ngày bên mình đánh thành 1 partition khác nhau ==&amp;gt; import data từ source zabbix vào sau đó drop hết các bảng mặc định đi rồi sửa lại là xong. cái này vẫn dễ.&lt;br /&gt;&#10;&amp;#8211; Ban đầu thiết kế DB zabbix sẽ nằm chung phần cứng với cụm database RAC 5 node hiện có, tuy nhiên phát hiện ra ông zabbix xài charset khác với mặc định của đám oracle, cái này thường các ông DBA, hay dev cũng chả sửa&lt;/p&gt;</description></item><item><title>Tránh zabbix tự quy đổi giá trị số 1000 -&gt; 1k khi hiển thị trên graph</title><link>https://blog.devopsvn.xyz/2021/06/09/tranh-zabbix-tu-quy-doi-gia-tri-so-1000-1k-khi-hien-thi-tren-graph/</link><pubDate>Wed, 09 Jun 2021 16:21:02 +0700</pubDate><guid>https://blog.devopsvn.xyz/2021/06/09/tranh-zabbix-tu-quy-doi-gia-tri-so-1000-1k-khi-hien-thi-tren-graph/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-357" src="https://blog.devopsvn.xyz/wp-content/uploads/2020/05/zabbixhero.jpg" alt="" width="1200" height="938" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Khi hiển thị biểu đồ trên zabbix, các giá trị &amp;gt;1000 sẽ tự quy đổi sang 1K.,2K ví dụ dung lượng ổ cứng, giá trị item là byte nhưng graph sẽ tự hiển thị là kb, MB, GB cho chúng ta. Đây là một tính năng của zabbix, tuy nhiên không phải đơn vị nào cũng cần quy đổi kiểu này, ví dụ số lương connection nếu hiển thị 1k connection, hay 9.9k connection thì k đẹp lắm, hoặc 1 số bạn đếm số lượng file, message queue.&lt;/p&gt;</description></item><item><title>Extent/Expand/Grow disk space đối với máy chủ ảo chạy linux</title><link>https://blog.devopsvn.xyz/2021/05/23/extent-expand-grow-disk-space-doi-voi-may-chu-ao-chay-linux/</link><pubDate>Sun, 23 May 2021 18:37:34 +0700</pubDate><guid>https://blog.devopsvn.xyz/2021/05/23/extent-expand-grow-disk-space-doi-voi-may-chu-ao-chay-linux/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-206" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/06/linux-penguin-security-100694867-large.jpg" alt="" width="700" height="467" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Máy chủ có 500GB ổ cứng, theo nhu cầu cần mở rộng lên 1TB&lt;br /&gt;&#10;Máy chủ chạy centos 7 trên VMware&lt;br /&gt;&#10;1, Lên VMWare, edit disk của máy chủ lên TB&lt;br /&gt;&#10;2, Truy cập máy chủ centos:&lt;br /&gt;&#10;&amp;#8211; Scan lại disk&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;[root@mm-adap1 ~]# ls /sys/class/scsi_device/&#10;&#10;0:0:0:0 3:0:0:0&#10;&#10;[root@mm-adap1 ~]# echo 1 &amp;gt; /sys/class/scsi_device/0\:0\:0\:0/device/rescan &#10;&#10;[root@mm-adap1 ~]# echo 1 &amp;gt; /sys/class/scsi_device/3\:0\:0\:0/device/rescan &#10;&#10;&lt;/pre&gt;&#10;&lt;pre class="lang:default decode:true "&gt;[root@mm-adap1 ~]# fdisk -l&#10;&#10;&#10;&#10;Disk /dev/sda: 500 GB, 1099511627776 bytes, 2147483648 sectors&#10;&#10;Units = sectors of 1 * 512 = 512 bytes&#10;&#10;Sector size (logical/physical): 512 bytes / 512 bytes&#10;&#10;I/O size (minimum/optimal): 512 bytes / 512 bytes&#10;&#10;Disk label type: dos&#10;&#10;Disk identifier: 0x000add72&#10;&#10;&#10;&#10; Device Boot Start End Blocks Id System&#10;&#10;/dev/sda1 * 2048 2099199 1048576 83 Linux&#10;&#10;/dev/sda2 2099200 629145599 313523200 8e Linux LVM&#10;&#10;/dev/sda3 629145600 1048575999 209715200 8e Linux LVM&#10;&#10;&#10;&#10;Disk /dev/mapper/centos_mm--adap1-root: 500 GB, 1098425303040 bytes, 2145361920 sectors&#10;&#10;Units = sectors of 1 * 512 = 512 bytes&#10;&#10;Sector size (logical/physical): 512 bytes / 512 bytes&#10;&#10;I/O size (minimum/optimal): 512 bytes / 512 bytes&#10;&#10;&lt;/pre&gt;&#10;&lt;p&gt;Đã thấy dung lượng tăng lên,  ổ đĩa tác động ở đây là /dev/sda, tiến hành fdisk&lt;/p&gt;</description></item><item><title>Triển khai hệ thống lưu trữ đơn giản với DRDB</title><link>https://blog.devopsvn.xyz/2021/05/22/trien-khai-he-thong-luu-tru-don-gian-voi-drdb/</link><pubDate>Sat, 22 May 2021 21:49:17 +0700</pubDate><guid>https://blog.devopsvn.xyz/2021/05/22/trien-khai-he-thong-luu-tru-don-gian-voi-drdb/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-414" src="https://blog.devopsvn.xyz/wp-content/uploads/2021/05/drbd.png" alt="" width="520" height="245" srcset="https://blog.devopsvn.xyz/wp-content/uploads/2021/05/drbd.png 520w, https://blog.devopsvn.xyz/wp-content/uploads/2021/05/drbd-300x141.png 300w" sizes="auto, (max-width: 520px) 100vw, 520px" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Mục tiêu, cần 1 server NFS để lưu trữ dữ liệu (chủ yếu là dữ liệu ảnh từ web upload lên)&lt;br /&gt;&#10;Công nghệ lựa chọn là DRBD 2 node, export ra ngoài cho user bằng NFS, Failover giữa primary node và secondary node bằng keepalived&lt;/p&gt;&#10;&lt;p&gt;Bước 1: Cấu hình DRBD&lt;br /&gt;&#10;&amp;#8211; Cài đặt 2 máy Ubuntu 20.04:&lt;/p&gt;</description></item><item><title>Xử lý lỗi trên ubuntu dh key too small</title><link>https://blog.devopsvn.xyz/2021/05/11/xu-ly-loi-tren-ubuntu-dh-key-too-small/</link><pubDate>Tue, 11 May 2021 08:33:36 +0700</pubDate><guid>https://blog.devopsvn.xyz/2021/05/11/xu-ly-loi-tren-ubuntu-dh-key-too-small/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-406" src="https://blog.devopsvn.xyz/wp-content/uploads/2021/04/yuiWNQa-2.png" alt="" width="1280" height="720" srcset="https://blog.devopsvn.xyz/wp-content/uploads/2021/04/yuiWNQa-2.png 1280w, https://blog.devopsvn.xyz/wp-content/uploads/2021/04/yuiWNQa-2-300x169.png 300w, https://blog.devopsvn.xyz/wp-content/uploads/2021/04/yuiWNQa-2-768x432.png 768w, https://blog.devopsvn.xyz/wp-content/uploads/2021/04/yuiWNQa-2-1024x576.png 1024w, https://blog.devopsvn.xyz/wp-content/uploads/2021/04/yuiWNQa-2-889x500.png 889w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /&gt;Khi gọi http request trên ubuntu, ở đây là ubuntu 20 thì hay gặp lỗi&lt;br /&gt;&#10;curl: (35) error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small&lt;br /&gt;&#10;(các ngôn ngữ khác như java, python báo lỗi tương tự)&lt;br /&gt;&#10;Cách fix:&lt;br /&gt;&#10;Sửa file /etc/ssl/openssl.cnf&lt;br /&gt;&#10;Thêm vào đầu file&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;openssl_conf = default_conf&#10;&#10;&lt;/pre&gt;&#10;&lt;p&gt;Thêm vào cuối file&lt;/p&gt;</description></item><item><title>[Ubuntu 20.04] Xử lý /var/log/journal/ quá lớn</title><link>https://blog.devopsvn.xyz/2021/04/19/ubuntu-20-04-xu-ly-var-log-journal-qua-lon/</link><pubDate>Mon, 19 Apr 2021 20:39:42 +0700</pubDate><guid>https://blog.devopsvn.xyz/2021/04/19/ubuntu-20-04-xu-ly-var-log-journal-qua-lon/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-406" src="https://blog.devopsvn.xyz/wp-content/uploads/2021/04/yuiWNQa-2.png" alt="" width="1280" height="720" srcset="https://blog.devopsvn.xyz/wp-content/uploads/2021/04/yuiWNQa-2.png 1280w, https://blog.devopsvn.xyz/wp-content/uploads/2021/04/yuiWNQa-2-300x169.png 300w, https://blog.devopsvn.xyz/wp-content/uploads/2021/04/yuiWNQa-2-768x432.png 768w, https://blog.devopsvn.xyz/wp-content/uploads/2021/04/yuiWNQa-2-1024x576.png 1024w, https://blog.devopsvn.xyz/wp-content/uploads/2021/04/yuiWNQa-2-889x500.png 889w" sizes="auto, (max-width: 1280px) 100vw, 1280px" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Một ngày đẹp trời rà soát máy chủ, hệ điều hành ubuntu 20 và thấy thư mục /var/log/journal/ to tổ chảng&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;root@mefin-ntl-rke-03:/var/log/journal/c27b494019ba448580a9cc1dce75e9c6# ll -h&#10;&#10;total 4.1G&#10;&#10;drwxr-sr-x+ 2 root systemd-journal 4.0K Apr 19 09:04 ./&#10;&#10;drwxr-sr-x+ 3 root systemd-journal 4.0K Dec 25 03:57 ../&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Jan 17 18:59 'system@16ca61f2092a4b948aef42e48d42a204-000000000016a25b-0005b8db6105890b.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Jan 20 19:41 'system@16ca61f2092a4b948aef42e48d42a204-000000000019cff5-0005b91758244858.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 96M Jan 22 10:13 'system@16ca61f2092a4b948aef42e48d42a204-00000000001d04e2-0005b954467d0756.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Jan 25 10:14 'system@16ca61f2092a4b948aef42e48d42a204-00000000001eb945-0005b97492f226fb.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Jan 28 09:13 'system@16ca61f2092a4b948aef42e48d42a204-000000000021e99d-0005b9b0ef1f24bf.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Jan 31 09:43 'system@16ca61f2092a4b948aef42e48d42a204-00000000002512a1-0005b9ec6d5a71fd.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Feb 3 08:59 'system@16ca61f2092a4b948aef42e48d42a204-0000000000284669-0005ba2935649832.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Feb 6 09:26 'system@16ca61f2092a4b948aef42e48d42a204-00000000002b714f-0005ba64eef8ba89.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Feb 9 10:04 'system@16ca61f2092a4b948aef42e48d42a204-00000000002ea4a7-0005baa1a94c7b25.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Feb 12 10:41 'system@16ca61f2092a4b948aef42e48d42a204-000000000031d940-0005bade8af14a24.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Feb 15 11:28 'system@16ca61f2092a4b948aef42e48d42a204-0000000000350db4-0005bb1b67cc8363.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Feb 18 12:12 'system@16ca61f2092a4b948aef42e48d42a204-0000000000384357-0005bb586b233c8e.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Feb 21 12:51 'system@16ca61f2092a4b948aef42e48d42a204-00000000003b7884-0005bb9561602aa0.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Feb 24 13:24 'system@16ca61f2092a4b948aef42e48d42a204-00000000003ead3f-0005bbd2472c1033.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Feb 27 14:00 'system@16ca61f2092a4b948aef42e48d42a204-000000000041e12c-0005bc0f151bf192.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Mar 2 14:22 'system@16ca61f2092a4b948aef42e48d42a204-00000000004516a6-0005bc4befd2240e.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Mar 5 15:01 'system@16ca61f2092a4b948aef42e48d42a204-0000000000484968-0005bc8897dc0e69.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Mar 8 15:52 'system@16ca61f2092a4b948aef42e48d42a204-00000000004b7dfa-0005bcc57c237e46.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Mar 11 16:31 'system@16ca61f2092a4b948aef42e48d42a204-00000000004eb422-0005bd028f33fd7d.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Mar 14 17:15 'system@16ca61f2092a4b948aef42e48d42a204-000000000051e8c9-0005bd3f71effd5c.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Mar 17 17:27 'system@16ca61f2092a4b948aef42e48d42a204-0000000000551e1c-0005bd7c6ab93047.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Mar 20 12:30 'system@16ca61f2092a4b948aef42e48d42a204-0000000000584ff3-0005bdb8ef2a619b.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Mar 23 11:36 'system@16ca61f2092a4b948aef42e48d42a204-00000000005b5d6c-0005bdf1212af3ec.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Mar 26 11:00 'system@16ca61f2092a4b948aef42e48d42a204-00000000005e8698-0005be2cbb27a4e8.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Mar 29 10:58 'system@16ca61f2092a4b948aef42e48d42a204-000000000061b1d7-0005be68910b83e8.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Apr 1 10:57 'system@16ca61f2092a4b948aef42e48d42a204-000000000064e13a-0005bea4e5b125de.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Apr 4 10:49 'system@16ca61f2092a4b948aef42e48d42a204-000000000068105c-0005bee13c8b5363.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Apr 7 10:36 'system@16ca61f2092a4b948aef42e48d42a204-00000000006b3e96-0005bf1d7697c73e.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Apr 10 10:26 'system@16ca61f2092a4b948aef42e48d42a204-00000000006e6c4d-0005bf59a16d76d4.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Apr 13 10:27 'system@16ca61f2092a4b948aef42e48d42a204-0000000000719a63-0005bf95d9ad57ee.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Apr 16 08:25 'system@16ca61f2092a4b948aef42e48d42a204-000000000074ca08-0005bfd237815e30.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 128M Apr 19 09:04 'system@16ca61f2092a4b948aef42e48d42a204-000000000077ec2e-0005c00cdc182970.journal'&#10;&#10;-rw-r-----+ 1 root systemd-journal 32M Apr 19 20:13 system.journal&#10;&#10;root@mefin-ntl-rke-03:/var/log/journal/c27b494019ba448580a9cc1dce75e9c6#&lt;/pre&gt;&#10;&lt;p&gt;Những log  này do systemd sinh ra, có thể được đọc bởi journalctl, Mỗi khi có sự kiện gì xảy ra, systemd sẽ ghi lại nhật ký vào đây, phòng khi thằng quản trị rảnh háng muốn tìm hiểu. Tuy nhiên, mọi tiện ích đều phải trả giá, cái giá phải trả cho việc này là tốn ổ cứng vcl. Không phải máy chủ nào cũng rảnh rang vài trăm GB hay vài TB để thoải mái lưu trữ bất cứ thứ gì mình thích, lúc này, mấy thằng SA nghèo khổ lại phải vắt óc ra mà cấu hình tối ưu lại cho tiết kiệm, tiền ít thì đừng hít cái gì thơm quá.&lt;/p&gt;</description></item><item><title>Rename VIP hoặc đối tượng nào đó trên F5</title><link>https://blog.devopsvn.xyz/2021/01/26/rename-vip-hoac-doi-tuong-nao-do-tren-f5/</link><pubDate>Tue, 26 Jan 2021 14:12:26 +0700</pubDate><guid>https://blog.devopsvn.xyz/2021/01/26/rename-vip-hoac-doi-tuong-nao-do-tren-f5/</guid><description>&lt;p&gt;SSH vào thiết bị F5&lt;br /&gt;&#10;truy cập giao diện tmsh&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;tmsh&lt;/pre&gt;&#10;&lt;p&gt;Bật chế độ cho phép move&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;modify /sys db mcpd.mvenabled value true&lt;/pre&gt;&#10;&lt;p&gt;Ví dụ cần đổi lên VIP virtual_server100 thành VIP1000&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;mv ltm virtual virtual_server100 VIP1000&lt;/pre&gt;&#10;&lt;div&gt;Tắt chế độ cho phép move đi&lt;/div&gt;&#10;&lt;div&gt;&#10;&lt;pre class="lang:default decode:true "&gt;modify /sys db mcpd.mvenabled value false&lt;/pre&gt;&#10;&lt;/div&gt;&#10;&lt;div&gt;Chi tiết xem tạm video:&lt;/div&gt;&#10;&lt;div&gt;&lt;/div&gt;</description></item><item><title>hpssacli – HP Smart array CLI commands and download link</title><link>https://blog.devopsvn.xyz/2020/12/19/hpssacli-hp-smart-array-cli-commands-and-download-link/</link><pubDate>Sat, 19 Dec 2020 20:45:37 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/12/19/hpssacli-hp-smart-array-cli-commands-and-download-link/</guid><description>&lt;h1 class="entry-title"&gt;HP Smart array CLI commands&lt;/h1&gt;&#10;&lt;div class="entry-meta text-muted"&gt;Sử dụng để kiểm tra raid, ổ cứng đang cắm trên raid đối với máy chủ HP&lt;/div&gt;&#10;&lt;p&gt;&lt;a href="https://drive.google.com/file/d/1_hbtimSYHk-qP741c_w9qDVZwEw9rajE/view?usp=sharing"&gt;Download HP Smart array CLI&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;HP Smart array CLI commands (these should apply to any system with the CLI installed)&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Show configuration&lt;/strong&gt;&lt;/p&gt;&#10;&lt;pre class=""&gt;/opt/hp/hpssacli/bin/hpssacli ctrl all show config&lt;/pre&gt;&#10;&lt;p&gt;&lt;strong&gt;Controller status&lt;/strong&gt;&lt;/p&gt;&#10;&lt;pre class=""&gt;/opt/hp/hpssacli/bin/hpssacli ctrl all show status&lt;/pre&gt;&#10;&lt;p&gt;&lt;strong&gt;Show detailed controller information for all controllers&lt;/strong&gt;&lt;/p&gt;&#10;&lt;pre&gt;/opt/hp/hpssacli/bin/hpssacli ctrl all show detail&lt;/pre&gt;&#10;&lt;p&gt;&lt;strong&gt;Show detailed controller information for controller in slot 0&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Triển khai Network loadbalancing trên windows server</title><link>https://blog.devopsvn.xyz/2020/10/10/trien-khai-network-loadbalancing-tren-windows-server/</link><pubDate>Sat, 10 Oct 2020 10:23:29 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/10/10/trien-khai-network-loadbalancing-tren-windows-server/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-219" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/security-new-Web-Image-800x534.jpg" alt="" width="800" height="534" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Mô hình:&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-383" src="https://blog.devopsvn.xyz/wp-content/uploads/2020/10/Capture.png" alt="" width="316" height="520" srcset="https://blog.devopsvn.xyz/wp-content/uploads/2020/10/Capture.png 316w, https://blog.devopsvn.xyz/wp-content/uploads/2020/10/Capture-182x300.png 182w, https://blog.devopsvn.xyz/wp-content/uploads/2020/10/Capture-304x500.png 304w" sizes="auto, (max-width: 316px) 100vw, 316px" /&gt;&lt;/p&gt;&#10;&lt;p&gt;10.144.139.17 và 10.144.139.18 là 2 máy windows (Chạy active directory). Mong muốn cần tạo IP VIP cho 2 con này, IP VIP là 10.144.139.25&lt;/p&gt;&#10;&lt;p&gt;Thử nghiệm với máy windows 10.144.141.190 kết nối tới VIP, firewall sử dụng là Juniper SRX 4100&lt;/p&gt;&#10;&lt;p&gt;Tiến hành cấu hình:&lt;/p&gt;&#10;&lt;p&gt;Tạo loadbalancing giữa 2 máy windows, cài đặt features: Network Load Balancing trên cả 2 máy&lt;/p&gt;</description></item><item><title>Decode escape string</title><link>https://blog.devopsvn.xyz/2020/09/14/decode-escape-string/</link><pubDate>Mon, 14 Sep 2020 00:37:47 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/09/14/decode-escape-string/</guid><description>&lt;p&gt;Gặp các đoạn text dạng:&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;\x22Signature\x22 : \x225382d1d011c45f6822442ebc1c3e499c\x22\x0A}&#10;&#10;&#10;&#10;\x0A \x22OrderId\x22 : \x22200914388560\x22,\x0A \x22LocalDate\x22 : \x2220200914001319\x22,\x0A \x22Signature\x22 : \x22\x22\x0A&lt;/pre&gt;&#10;&lt;p&gt;Với python3 có thể dịch bằng&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;value.encode('utf8').decode('unicode_escape')&lt;/pre&gt;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Tổng hợp key vmware các thể loại</title><link>https://blog.devopsvn.xyz/2020/06/10/tong-hop-key-vmware-cac-the-loai/</link><pubDate>Wed, 10 Jun 2020 21:02:37 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/06/10/tong-hop-key-vmware-cac-the-loai/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-212" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/1115.jpg" alt="" width="584" height="341" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Key Vsphere hypervisor 6.7: Không giới hạn&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;JV425-4h100-vzhh8-q23np-3a9pp&lt;/pre&gt;&#10;&lt;p&gt;Key VMware workstation 15&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;UZ3J8-D8F5M-M84LZ-W6WZZ-WP8T6&#10;&#10;AZ5NK-4TGEJ-088PZ-96X5X-ZL2T4&#10;&#10;VV510-AWYE1-M85QZ-NMYZG-QA8W6&#10;&#10;ZG75A-4DY8K-489TQ-YQNZV-Y2UWA&#10;&#10;CY7JA-2LZE4-480CQ-TDM7V-ZK8DF&#10;&#10;YA75U-89XE4-08EQY-45WNT-NC890&#10;&#10;YV5XR-0AG93-H845Q-DDZQC-M2KWF&#10;&#10;AA1JR-0TX86-4847Y-JDQGV-YQKF8&#10;&#10;ZA35K-FHX4Q-0848P-MGW5G-N28FD&#10;&#10;YZ192-86X1N-H884Q-GWXEC-N7HV0&#10;&#10;FZ5XU-40X0H-48EXP-DPYGT-MZKYA&#10;&#10;YY3T0-42DEN-H88MZ-RDPEG-Y6RR0&#10;&#10;AU75H-2EWE2-M85QQ-JXXNZ-MCHA4&#10;&#10;FG3N0-FFD0P-0895Z-64P7C-XQRA2&#10;&#10;GG1D8-4QXE1-481NY-C6XQX-Y3U9D&#10;&#10;FU58K-2YX9J-M8ETZ-DWNEG-X7KAA&#10;&#10;FF788-A1X86-08E9Q-5YN79-XV0YD&#10;&#10;FC51U-43Z0L-H85TZ-NZQ5G-PZUW6&#10;&#10;&#10;&#10;ZG75A-4DY8K-489TQ-YQNZV-Y2UWA&#10;&#10;CY7JA-2LZE4-480CQ-TDM7V-ZK8DF&#10;&#10;YA75U-89XE4-08EQY-45WNT-NC890&#10;&#10;YV5XR-0AG93-H845Q-DDZQC-M2KWF&#10;&#10;AA1JR-0TX86-4847Y-JDQGV-YQKF8&#10;&#10;ZA35K-FHX4Q-0848P-MGW5G-N28FD&#10;&#10;YZ192-86X1N-H884Q-GWXEC-N7HV0&#10;&#10;FZ5XU-40X0H-48EXP-DPYGT-MZKYA&#10;&#10;YY3T0-42DEN-H88MZ-RDPEG-Y6RR0&#10;&#10;AU75H-2EWE2-M85QQ-JXXNZ-MCHA4&#10;&#10;FG3N0-FFD0P-0895Z-64P7C-XQRA2&#10;&#10;GG1D8-4QXE1-481NY-C6XQX-Y3U9D&#10;&#10;FU58K-2YX9J-M8ETZ-DWNEG-X7KAA&#10;&#10;FF788-A1X86-08E9Q-5YN79-XV0YD&#10;&#10;FC51U-43Z0L-H85TZ-NZQ5G-PZUW6&lt;/pre&gt;&#10;&lt;p&gt;Key VMWare Workstation 16 Pro&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;ZF3R0-FHED2-M80TY-8QYGC-NPKYF&#10;&#10;YF390-0HF8P-M81RQ-2DXQE-M2UT6&#10;&#10;ZF71R-DMX85-08DQY-8YMNC-PPHV8&lt;/pre&gt;&#10;&lt;p&gt;Key VMware Workstation 17 Pro&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;4U612-DN31H-MJEJ0-0V0Z4-978HD&#10;&#10;5G44H-ACH50-0J4C9-1VC5P-CY0QD&#10;&#10;JC000-8G047-MJDF1-0H3E6-8QR5F&#10;&#10;JV2NU-0XL5N-0J4Q8-0T0E6-8GH56&#10;&#10;JZ6E0-4R1E0-HJ1Q0-1R8NH-3AK28&#10;&#10;0Z48K-4X29Q-MJE80-113GK-C7K3A&#10;&#10;HF4H0-46K80-MJ8D9-1KAZP-CKK12&#10;&#10;NY69H-2N05P-HJ170-1V1ZM-CG222&#10;&#10;4C45A-D8J0H-HJ5T0-1T25H-92A76&#10;&#10;0Z4H2-0WK9K-4JE10-0T9G6-9C8M4&#10;&#10;5F0TK-A5J05-MJDU9-103ZP-2GUL0&#10;&#10;HY0W0-8NK11-HJ4D8-02AE2-1GH54&#10;&#10;JV4RK-4Y29N-MJ5F8-12CXP-8L836&#10;&#10;5F4RU-D5351-4J8V1-0U2X2-06078&#10;&#10;1Y2R0-AHJ9P-4J8L0-1997P-C3056&#10;&#10;HZ0TA-DX280-0J0D0-00AZ2-8FA56&#10;&#10;0Z4WU-AZ04L-0J919-1C9EK-9QALD&#10;&#10;4U4JR-6ML9Q-4JDT0-0CAZ2-8CHQ8&#10;&#10;HY492-4Q217-0JD48-021E0-8PH46&#10;&#10;5U4HH-2Q053-MJE20-108ZP-CZ8Q6&lt;/pre&gt;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Cấu hình portchannel giữa switch cisco và Esxi 6.7</title><link>https://blog.devopsvn.xyz/2020/06/07/cau-hinh-portchannel-giua-switch-cisco-va-esxi-6-7/</link><pubDate>Sun, 07 Jun 2020 17:27:43 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/06/07/cau-hinh-portchannel-giua-switch-cisco-va-esxi-6-7/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-212" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/1115.jpg" alt="" width="584" height="341" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Mô hình:&lt;br /&gt;&#10;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-361" src="https://blog.devopsvn.xyz/wp-content/uploads/2020/06/sodo.png" alt="" width="418" height="104" srcset="https://blog.devopsvn.xyz/wp-content/uploads/2020/06/sodo.png 418w, https://blog.devopsvn.xyz/wp-content/uploads/2020/06/sodo-300x75.png 300w" sizes="auto, (max-width: 418px) 100vw, 418px" /&gt;Cấu hình trên swich:&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;conf t&#10;&#10;interface port-channel2&#10;&#10;switchport&#10;&#10;switchport mode trunk&#10;&#10;&lt;/pre&gt;&#10;&lt;pre class="lang:default decode:true"&gt;conf t&#10;&#10;int e1/34-36&#10;&#10;switchport&#10;&#10;switchport mode trunk&#10;&#10;channel-group 2 mode on&#10;&#10;&lt;/pre&gt;&#10;&lt;p&gt;Cấu hình trên ESXi, tạo Vswitch mới tên BOND, add 3 uplink em2-4 cho vswitch này&lt;br /&gt;&#10;Bấm chọn networking -&amp;gt;Virtual switches -&amp;gt; Add standard virtual switch&lt;/p&gt;&#10;&lt;p&gt;vSwitch Name = BOND&lt;br /&gt;&#10;security policy:&lt;br /&gt;&#10;Allow promiscuous mode Yes&lt;br /&gt;&#10;Allow forged transmits Yes&lt;br /&gt;&#10;Allow MAC changes Yes&lt;/p&gt;</description></item><item><title>Note build zabbix từ source</title><link>https://blog.devopsvn.xyz/2020/05/22/note-build-zabbix-tu-source/</link><pubDate>Fri, 22 May 2020 16:46:26 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/05/22/note-build-zabbix-tu-source/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-357" src="https://blog.devopsvn.xyz/wp-content/uploads/2020/05/zabbixhero.jpg" alt="" width="1200" height="938" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Download zabbix từ trang chủ: https://www.zabbix.com/download_sources&lt;/p&gt;&#10;&lt;p&gt;&amp;#8211; Giải nén&lt;br /&gt;&#10;&amp;#8211; Cài đặt gói cần thiết:&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;yum install gcc mysql-devel libxml2-devel net-snmp-devel curl-devel unixODBC-devel OpenIPMI-devel libssh2-devel iksemel-devel openldap-devel libevent-devel pcre-devel&lt;/pre&gt;&#10;&lt;p&gt;&amp;#8211; Cài đặt java&lt;br /&gt;&#10;&amp;#8211; configure&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;./configure --enable-server --enable-agent --enable-proxy --enable-java --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc --with-ssh2 --with-ldap --with-libpcre&lt;/pre&gt;&#10;&lt;pre class="lang:default decode:true "&gt;make install&lt;/pre&gt;&#10;&lt;p&gt;Output các file build đc nằm ở /sbin/local/&lt;/p&gt;&#10;&lt;p&gt;Một số trick:&lt;br /&gt;&#10;&amp;#8211; Mặc định timeout giữa server và agent, giữa agent và script external check chỉ tối đa 30s. Có thể tăng con số này lên bằng cách sửa lại source của zabbix sau đó thay đè file binary build được vào máy chủ đã cài trước đó:&lt;br /&gt;&#10;Timeout server: Sửa timeout trong file server.c&lt;/p&gt;</description></item><item><title>Cài đặt gcc mới nhất từ source trên centos 7</title><link>https://blog.devopsvn.xyz/2020/05/10/cai-dat-gcc-moi-nhat-tu-source-tren-centos-7/</link><pubDate>Sun, 10 May 2020 11:44:55 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/05/10/cai-dat-gcc-moi-nhat-tu-source-tren-centos-7/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-206" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/06/linux-penguin-security-100694867-large.jpg" alt="" width="700" height="467" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Mặc định cài từ yum của centos 7 chỉ có gcc 4.8.5. Khá là cũ, các software mới như redis yêu cầu tối thiểu phải 4.9 mới buld được. Cách cài đặt gcc mới hơn như sau:&lt;/p&gt;&#10;&lt;p&gt;Tìm source từ trang chủ: https://gcc.gnu.org/mirrors.html&lt;br /&gt;&#10;Tìm được  1 repo cảm thấy gần mình nhất sau đó truy cập vào, lấy ra link release, wget về là OK, ở đây là link:&lt;/p&gt;</description></item><item><title>Xử lý lỗi Memory limit doesn’t accept the negative value trên giao diện web vmware vsphere</title><link>https://blog.devopsvn.xyz/2020/04/25/xu-ly-loi-memory-limit-doesnt-accept-the-negative-value-tren-giao-dien-web-vmware-vsphere/</link><pubDate>Sat, 25 Apr 2020 11:16:12 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/04/25/xu-ly-loi-memory-limit-doesnt-accept-the-negative-value-tren-giao-dien-web-vmware-vsphere/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="image-1 jive-image" src="https://communities.vmware.com/servlet/JiveServlet/downloadImage/2-2697624-126107/1406-900/Screen+Shot+2017-08-17+at+01.04.34.png" alt="Screen Shot 2017-08-17 at 01.04.34.png" width="1406" height="900" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Khi sử dụng vmware vsphere trên firefox thường có những lỗi vặt  như thế này rất khó chịu. Nguyên  nhân do bug của bản ESXi Embedded Host Client 1.8.0&lt;br /&gt;&#10;Để khắc phục cần update patch cho thằng này.&lt;br /&gt;&#10;Cách làm như sau:&lt;br /&gt;&#10;&amp;#8211; Download vib patch về.&lt;br /&gt;&#10;&amp;#8211; Sử dụng winscp, copy file vừa down lên host ESXi (ESXi sẽ cần enable SSH để làm được việc này)&lt;br /&gt;&#10;&amp;#8211; Cài đặt:&lt;/p&gt;</description></item><item><title>Fix lỗi thời gian bị thay đổi do cài song song ubuntu và windows</title><link>https://blog.devopsvn.xyz/2020/04/11/fix-loi-thoi-gian-bi-thay-doi-do-cai-song-song-ubuntu-va-windows/</link><pubDate>Sat, 11 Apr 2020 21:50:54 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/04/11/fix-loi-thoi-gian-bi-thay-doi-do-cai-song-song-ubuntu-va-windows/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-342" src="https://blog.devopsvn.xyz/wp-content/uploads/2020/04/dual-boot.png" alt="" width="245" height="250" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Đối với những ai cài song song 2 hệ điều hành windows và ubuntu chắc hẳn đều sẽ gặp lỗi time của máy bị thay đổi sau khi chuyển qua lại giữa 2 hệ điều hành, mỗi lần thế phải tự chỉnh lại rất khó chịu.&lt;/p&gt;&#10;&lt;p&gt;Nguyên nhân do Ubuntu maintain hardware clock ở giờ UTC, còn windows cũng maintain hardware clock nhưng với localtime.&lt;/p&gt;&#10;&lt;p&gt;Cách fix có 2 cách:&lt;/p&gt;</description></item><item><title>Thêm disk cho LVM</title><link>https://blog.devopsvn.xyz/2020/04/08/them-disk-cho-lvm/</link><pubDate>Wed, 08 Apr 2020 17:41:22 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/04/08/them-disk-cho-lvm/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-206" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/06/linux-penguin-security-100694867-large.jpg" alt="" width="700" height="467" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Ngày mua máy chủ, sếp bảo: cty ta nghèo đói rách nát, đợt này mua máy chủ, k đủ tiền mua con ổ to, anh em chịu khó, mai mốt có lãi ta mua thêm ổ nữa cắm vào. Lúc ấy thằng éo nào cũng gật gù, đành chịu chứ làm sao, sếp k có tiền chả lẽ cả lũ thích sếp trừ lương lấy tiền mua ổ cứng.&lt;br /&gt;&#10;Dùng được một thời gian, cuối cùng ngày đó cũng tới. Sếp cho thêm con ổ nữa , nhưng khốn nạn là con máy chủ đang chạy, có cách nào nới rộng ra mà không ảnh hưởng gì không?&lt;br /&gt;&#10;May thay, hồi xưa cài máy, anh em khôn nên cài lvm, mà mặc định cài centos 7 nó đã có lvm rồi, giờ chỉ add disk vào resize là được. Dưới đây, chúng ta sẽ làm điều đó:&lt;/p&gt;</description></item><item><title>Xử lý lỗi crontab truncate command</title><link>https://blog.devopsvn.xyz/2020/03/31/xu-ly-loi-crontab-truncate-command/</link><pubDate>Tue, 31 Mar 2020 09:16:47 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/03/31/xu-ly-loi-crontab-truncate-command/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-206" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/06/linux-penguin-security-100694867-large.jpg" alt="" width="700" height="467" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Case: Nhét 1 đoạn mysqldump vào crontab để backup db hàng đêm. Sáng hôm sau kiểm tra ko thấy file dump đâu.&lt;br /&gt;&#10;đoạn command khai báo crontab&lt;/p&gt;&#10;&lt;pre class="lang:default highlight:0 decode:true "&gt;0 0 * * * /usr/bin/mysqldump -uzabbixuser -pMikita zabbixdb &amp;gt; /opt/backup/zabbixdb-`date +%F`.sql&lt;/pre&gt;&#10;&lt;p&gt;Giải quyết ra sao?&lt;br /&gt;&#10;chạy bằng crontab nên output lúc chạy sẽ được ném vào /var/mail/&amp;lt;user&amp;gt;&lt;br /&gt;&#10;Ở đây chúng ta chạy cron trên user root, check file /var/mail/root&lt;/p&gt;</description></item><item><title>Khắc phục lỗi tomcat khởi động chậm</title><link>https://blog.devopsvn.xyz/2020/03/31/khac-phuc-loi-tomcat-khoi-dong-cham/</link><pubDate>Tue, 31 Mar 2020 08:47:59 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/03/31/khac-phuc-loi-tomcat-khoi-dong-cham/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-332" src="https://blog.devopsvn.xyz/wp-content/uploads/2020/03/apache-tomcat-rce-exploit.png" alt="" width="728" height="380" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Khi bật tomcat, từ khi chạy startup tới khi server hoàn tất online có thể lên tới 30s. Nếu kiểm tra log catalina.out có thể thấy ghi chú rõ thời gian khởi động cho từng tiến trình của tomcat&lt;br /&gt;&#10;Ví dụ:&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;31-Mar-2020 08:30:51.102 WARNING [main] org.apache.catalina.core.StandardContext.setPath A context path must either be an empty string or sta&#10;&#10;rt with a '/' and do not end with a '/'. The path [bill-live2] does not meet these criteria and has been changed to [/bill-live2]&#10;&#10;31-Mar-2020 08:30:51.114 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.3&#10;&#10;31-Mar-2020 08:30:51.114 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Jun 9 2016 11:16:29 UTC&#10;&#10;31-Mar-2020 08:30:51.114 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number: 8.5.3.0&#10;&#10;31-Mar-2020 08:30:51.114 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux&#10;&#10;31-Mar-2020 08:30:51.114 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 2.6.32-642.el6.x86_64&#10;&#10;31-Mar-2020 08:30:51.114 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64&#10;&#10;31-Mar-2020 08:30:51.114 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /home/java8/jre&#10;&#10;31-Mar-2020 08:30:51.114 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_101-b13&#10;&#10;31-Mar-2020 08:30:51.115 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Oracle Corporation&#10;&#10;31-Mar-2020 08:30:51.115 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /home/devopsvn.xyz/runtime&#10;&#10;/huybk.com-live2&#10;&#10;31-Mar-2020 08:30:51.115 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /home/devopsvn.xyz/runtime&#10;&#10;/huybk.com-live2&#10;&#10;31-Mar-2020 08:30:51.115 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.&#10;&#10;file=/home/devopsvn.xyz/runtime/huybk.com-live2/conf/logging.properties&#10;&#10;31-Mar-2020 08:30:51.115 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager&#10;&#10;=org.apache.juli.ClassLoaderLogManager&#10;&#10;31-Mar-2020 08:30:51.115 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySiz&#10;&#10;e=2048&#10;&#10;31-Mar-2020 08:30:51.115 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/home/congt&#10;&#10;hanhtoan/runtime/huybk.com-live2&#10;&#10;31-Mar-2020 08:30:51.115 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/home/congt&#10;&#10;hanhtoan/runtime/huybk.com-live2&#10;&#10;31-Mar-2020 08:30:51.116 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/home/cong&#10;&#10;thanhtoan/runtime/huybk.com-live2/temp&#10;&#10;31-Mar-2020 08:30:51.116 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library&#10;&#10;which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/&#10;&#10;lib64:/lib:/usr/lib&#10;&#10;31-Mar-2020 08:30:51.235 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8587"]&#10;&#10;31-Mar-2020 08:30:51.254 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/r&#10;&#10;ead&#10;&#10;31-Mar-2020 08:30:51.256 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 585 ms&#10;&#10;31-Mar-2020 08:30:51.280 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service Catalina&#10;&#10;31-Mar-2020 08:30:51.280 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.3&#10;&#10;31-Mar-2020 08:30:51.280 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.3&#10;&#10;31-Mar-2020 08:30:53.861 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.&#10;&#10;SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".&#10;&#10;SLF4J: Defaulting to no-operation (NOP) logger implementation&#10;&#10;SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.&#10;&#10;31-Mar-2020 08:31:27.681 INFO [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [33,353] milliseconds.&#10;&#10;31-Mar-2020 08:31:29.269 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8587]&#10;&#10;31-Mar-2020 08:31:29.278 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 38021 ms&lt;/pre&gt;&#10;&lt;p&gt;Như trên, chúng ta có thể thấy tomcat start mất 38s, một con số quá lớn. Nhìn lên phía trên sẽ có tiến trình SessionIdGeneratorBase khởi động mất 33s&lt;br /&gt;&#10;Để khắc phục tốc độ khởi động của SessionIdGeneratorBase tiến hành làm như sau&lt;br /&gt;&#10;Vào thư mục &lt;strong&gt;$JAVA_HOME/jre/lib/security/java.security&lt;/strong&gt;&lt;br /&gt;&#10;Thêm vào cuối file java.security&lt;br /&gt;&#10;&lt;strong&gt;securerandom.source=file:/dev/urandom&lt;/strong&gt;&lt;br /&gt;&#10;Từ nay sẽ khắc phục được tốc độ khởi động của SessionIdGeneratorBase&lt;/p&gt;</description></item><item><title>Remove hoàn toàn selinux (centos)</title><link>https://blog.devopsvn.xyz/2020/03/22/remove-hoan-toan-selinux-centos/</link><pubDate>Sun, 22 Mar 2020 21:27:14 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/03/22/remove-hoan-toan-selinux-centos/</guid><description>&lt;p&gt;Muốn tắt selinux có thể sửa /etc/selinux/config. hoặc setenfoce 0&lt;br /&gt;&#10;Tuy nhiên đôi lúc cần xoá triệt để (vì lý do gì đó trời mới  biết) thì làm như sau&lt;/p&gt;&#10;&lt;p&gt;Hướng dẫn xoá hoàn toàn selinux trên centos&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;sudo yum remove selinux-policy*&#10;&#10;sudo rm -rf /etc/selinux/targeted&#10;&#10;sudo yum install -y selinux-policy-targeted selinux-policy-devel policycoreutils&#10;&#10;&lt;/pre&gt;</description></item><item><title>Port forwarding với netsh (Windows)</title><link>https://blog.devopsvn.xyz/2020/03/22/port-forwarding-voi-netsh-windows/</link><pubDate>Sun, 22 Mar 2020 21:15:30 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/03/22/port-forwarding-voi-netsh-windows/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-325" src="https://blog.devopsvn.xyz/wp-content/uploads/2020/03/khoi-dong-cmd-windows-mac-dinh-completejavascript.com_.png" alt="" width="660" height="333" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Đôi khi, cần thực hiện portwarding 1 số máy trong LAN , với các hệ thống có firewall thì có thể làm điều này dễ dàng, tuy nhiên, đôi lúc giật gấu vá vai, đành phải tạm khắc phục nếu không có firewall. Ở bài trước, chúng ta đã làm điều này dễ dàng với iptables, nhưng iptables chỉ có trên linux. Với các đơn vị nhỏ nhỏ, đa phần là máy người dùng, windows, k lẽ đi cài 1 con linux lên thì về mặt chi phí ko còn khả thi nữa (tiền 1 con PC còn quá tiền mua con firewall phò). May thay, windows cũng làm được điều này với lệnh netsh, mở cmd dưới quyền administrator lên:&lt;/p&gt;</description></item><item><title>Port forwarding với iptables</title><link>https://blog.devopsvn.xyz/2020/03/22/port-forwarding-voi-iptables/</link><pubDate>Sun, 22 Mar 2020 21:07:05 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/03/22/port-forwarding-voi-iptables/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-206" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/06/linux-penguin-security-100694867-large.jpg" alt="" width="700" height="467" /&gt;&lt;br /&gt;&#10;Đôi khi, cần thực hiện portwarding 1 số máy trong LAN với iptables, với các hệ thống có firewall thì có thể làm điều này dễ dàng, tuy nhiên, đôi lúc giật gấu vá vai, đành phải tạm khắc phục nếu không có firewall, iptables sẽ giúp chúng ta làm việc đó&lt;br /&gt;&#10;Bước 1: kiểm tra 2 thông số sau của máy&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;cat /proc/sys/net/ipv4/conf/ppp0/forwarding &#10;&#10;cat /proc/sys/net/ipv4/conf/eth0/forwarding&lt;/pre&gt;&#10;&lt;p&gt;ppp0 và eth0 là 2 interface ví dụ. nếu return về 1 là OK, nếu không thì thay đổi 2 thông số đó thành 1. cách làm có thể google&lt;/p&gt;</description></item><item><title>Đổi phiên bản office từ retail sang VL</title><link>https://blog.devopsvn.xyz/2020/02/12/doi-phien-ban-office-tu-retail-sang-vl/</link><pubDate>Wed, 12 Feb 2020 10:27:30 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/02/12/doi-phien-ban-office-tu-retail-sang-vl/</guid><description>&lt;p&gt;Mở notepad, paste đoạn code bên dưới vào, save lại dưới tên active_office.cmd, sau đó nháy phải vào file cmd vừa tạo, chọn run as administrator, bấm phím bất kỳ để xác nhận&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;@echo off&#10;&#10;Title Converter Office 2016 Retail to Volume&#10;&#10;&#10;&#10;echo Press Enter to start VL-Conversion...&#10;&#10;echo.&#10;&#10;pause&#10;&#10;echo.&#10;&#10;&#10;&#10;for /f "tokens=6 delims=[]. " %%G in ('ver') do set win=%%G&#10;&#10;&#10;&#10;set LICPATH=%ProgramFiles(x86)%\Microsoft Office\root\Licenses16&#10;&#10;&#10;&#10;echo path %LICPATH%&#10;&#10;&#10;&#10;if %win% GEQ 9200 (&#10;&#10;cd /D "%SystemRoot%\System32"&#10;&#10;cscript slmgr.vbs /ilc "%LICPATH%\ProPlusVL_KMS_Client-ppd.xrm-ms"&#10;&#10;cscript slmgr.vbs /ilc "%LICPATH%\ProPlusVL_KMS_Client-ul.xrm-ms"&#10;&#10;cscript slmgr.vbs /ilc "%LICPATH%\ProPlusVL_KMS_Client-ul-oob.xrm-ms"&#10;&#10;cscript slmgr.vbs /ilc "%LICPATH%\client-issuance-bridge-office.xrm-ms"&#10;&#10;cscript slmgr.vbs /ilc "%LICPATH%\client-issuance-root.xrm-ms"&#10;&#10;cscript slmgr.vbs /ilc "%LICPATH%\client-issuance-root-bridge-test.xrm-ms"&#10;&#10;cscript slmgr.vbs /ilc "%LICPATH%\client-issuance-stil.xrm-ms"&#10;&#10;cscript slmgr.vbs /ilc "%LICPATH%\client-issuance-ul.xrm-ms"&#10;&#10;cscript slmgr.vbs /ilc "%LICPATH%\client-issuance-ul-oob.xrm-ms"&#10;&#10;cscript slmgr.vbs /ilc "%LICPATH%\pkeyconfig-office.xrm-ms"&#10;&#10;cscript slmgr.vbs /ipk:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99&#10;&#10;)&#10;&#10;if %win% LSS 9200 (&#10;&#10;cscript "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" /inslic:"%LICPATH%\ProPlusVL_KMS_Client-ppd.xrm-ms"&#10;&#10;cscript "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" /inslic:"%LICPATH%\ProPlusVL_KMS_Client-ul.xrm-ms"&#10;&#10;cscript "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" /inslic:"%LICPATH%\ProPlusVL_KMS_Client-ul-oob.xrm-ms"&#10;&#10;cscript "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" /inslic:"%LICPATH%\pkeyconfig-office.xrm-ms"&#10;&#10;cscript "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" /inpkey:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99&#10;&#10;)&#10;&#10;echo.&#10;&#10;echo Retail to Volume License conversion finished.&#10;&#10;echo.&#10;&#10;pause&#10;&#10;&lt;/pre&gt;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>ARCHIVE-LOG và NO-ARCHIVE-LOG mode của Oracle là gì? Ưu nhược điểm?</title><link>https://blog.devopsvn.xyz/2020/01/28/archive-log-va-no-archive-log-mode-cua-oracle-la-gi-uu-nhuoc-diem/</link><pubDate>Tue, 28 Jan 2020 11:43:18 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/01/28/archive-log-va-no-archive-log-mode-cua-oracle-la-gi-uu-nhuoc-diem/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-313" src="https://blog.devopsvn.xyz/wp-content/uploads/2020/01/orcale.png" alt="" width="325" height="260" srcset="https://blog.devopsvn.xyz/wp-content/uploads/2020/01/orcale.png 325w, https://blog.devopsvn.xyz/wp-content/uploads/2020/01/orcale-300x240.png 300w" sizes="auto, (max-width: 325px) 100vw, 325px" /&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span class="test-id__field-value slds-form-element__static slds-grow is-read-only" data-aura-rendered-by="158:235;a"&gt;ARCHIVELOG mode: Khi database được hoạt động ở chế độ này, database sẽ tạo backup cho toàn bộ các transaction đã thực hiện, vì vậy chúng ta có thể khôi phục lại database lại bất cứ thời điểm nào nếu muốn.&lt;br /&gt;&#10;Ưu điểm: có thể thực hiện hot backup,ngay cả khi database đang online. Với file backup, archive log, hoàn toàn có thể khôi phục lại database nguyên trạng về bất cứ thời điểm nào khi cần thiết.&lt;br /&gt;&#10;Nhược điểm: Tốn ổ cứng để lưu file archivelog, tuy nhiên, có các option để tối ưu lại file log sau khi đã backup thành công.&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Unlock user root Esxi</title><link>https://blog.devopsvn.xyz/2020/01/14/unlock-user-root-esxi/</link><pubDate>Tue, 14 Jan 2020 16:41:20 +0700</pubDate><guid>https://blog.devopsvn.xyz/2020/01/14/unlock-user-root-esxi/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-212" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/1115.jpg" alt="" width="584" height="341" /&gt;Use case: user root bị lock lại do đăng nhập sai nhiều quá, SSH vào có thể thấy báo lỗi:&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;/usr/lib/vmware/misc/bin/tally_vob.sh failed: exit code 1&lt;/pre&gt;&#10;&lt;p&gt;Để khắc phục, chạy lệnh sau:&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;pam_tally2 --user root --reset&lt;/pre&gt;&#10;&lt;p&gt;&lt;img loading="lazy" decoding="async" class="alignnone size-full" src="https://i2.wp.com/discoposse.com/wp-content/uploads/2017/10/02-lockout-reset.png?w=838&amp;amp;ssl=1" width="838" height="154" /&gt;&lt;/p&gt;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Cài đặt Fail2ban cho zimbra trên centos 7</title><link>https://blog.devopsvn.xyz/2019/09/26/cai-dat-fail2ban-cho-zimbra-tren-centos-7/</link><pubDate>Thu, 26 Sep 2019 21:39:23 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/09/26/cai-dat-fail2ban-cho-zimbra-tren-centos-7/</guid><description>&lt;p&gt;Cài đặt epel-repo&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;# yum update&#10;&#10;# yum install epel-release&lt;/pre&gt;&#10;&lt;p&gt;Cài đặt fail2ban&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;yum install fail2ban&lt;/pre&gt;&#10;&lt;p&gt;backup các file mặc định của fail2ban&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;# cp /etc/fail2ban/action.d/iptables-allports.conf /etc/fail2ban/action.d/iptables-allports.conf.backup&#10;&#10;# mv /etc/fail2ban/jail.conf /etc/fail2ban/jail.conf.backup&lt;/pre&gt;&#10;&lt;p&gt;Tạo file /etc/fail2ban/filter.d/zimbra.conf với nội dung sau&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;vi /etc/fail2ban/filter.d/zimbra.conf&lt;/pre&gt;&#10;&lt;pre class="lang:default decode:true"&gt;# Fail2Ban configuration file&#10;&#10;#&#10;&#10;# Author:&#10;&#10;#&#10;&#10;# $Revision: 1 $&#10;&#10;#&#10;&#10;&#10;&#10;[Definition]&#10;&#10;&#10;&#10;# Option: failregex&#10;&#10;# Notes.: regex to match the password failures messages in the logfile. The&#10;&#10;# host must be matched by a group named "host". The tag "&amp;lt;HOST&amp;gt;" can&#10;&#10;# be used for standard IP/hostname matching and is only an alias for&#10;&#10;# (?:::f{4,6}:)?(?P&amp;lt;host&amp;gt;[\w\-.^_]+)&#10;&#10;# Values: TEXT&#10;&#10;#&#10;&#10;failregex = \[ip=&amp;lt;HOST&amp;gt;;\] account - authentication failed for .* \(no such account\)$&#10;&#10;\[ip=&amp;lt;HOST&amp;gt;;\] security - cmd=Auth; .* error=authentication failed for .*, invalid password;$&#10;&#10;;oip=&amp;lt;HOST&amp;gt;;.* security - cmd=Auth; .* protocol=soap; error=authentication failed for .* invalid password;$&#10;&#10;\[oip=&amp;lt;HOST&amp;gt;;.* SoapEngine - handler exception: authentication failed for .*, account not found$&#10;&#10;WARN .*;ip=&amp;lt;HOST&amp;gt;;ua=ZimbraWebClient .* security - cmd=AdminAuth; .* error=authentication failed for .*;$&#10;&#10;NOQUEUE: reject: RCPT from .*\[&amp;lt;HOST&amp;gt;\]: 550 5.1.1 .*: Recipient address rejected:&#10;&#10;&#10;&#10;# .*\[ip=&amp;lt;HOST&amp;gt;;\] .* - authentication failed for .* \(invalid password\)&#10;&#10;#&#10;&#10;# Option: ignoreregex&#10;&#10;# Notes.: regex to ignore. If this regex matches, the line is ignored.&#10;&#10;# Values: TEXT&#10;&#10;#&#10;&#10;ignoreregex =&lt;/pre&gt;&#10;&lt;p&gt;File này định nghĩa các patten được coi là lỗi, có biểu hiện bất thường trong file log.&lt;/p&gt;</description></item><item><title>Fix lỗi “The sign-in method you’re trying to use isn’t allowed”</title><link>https://blog.devopsvn.xyz/2019/09/02/fix-loi-the-sign-in-method-youre-trying-to-use-isnt-allowed/</link><pubDate>Mon, 02 Sep 2019 19:31:23 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/09/02/fix-loi-the-sign-in-method-youre-trying-to-use-isnt-allowed/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-296" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/09/1.png" alt="" width="1027" height="771" srcset="https://blog.devopsvn.xyz/wp-content/uploads/2019/09/1.png 1027w, https://blog.devopsvn.xyz/wp-content/uploads/2019/09/1-300x225.png 300w, https://blog.devopsvn.xyz/wp-content/uploads/2019/09/1-768x577.png 768w, https://blog.devopsvn.xyz/wp-content/uploads/2019/09/1-1024x769.png 1024w, https://blog.devopsvn.xyz/wp-content/uploads/2019/09/1-175x131.png 175w, https://blog.devopsvn.xyz/wp-content/uploads/2019/09/1-666x500.png 666w" sizes="auto, (max-width: 1027px) 100vw, 1027px" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Case: tạo user trên AD windows 2016. sau đó log in trên màn hình console thì báo lỗi. Hướng xử lý như sau:&lt;br /&gt;&#10;Quay lại sử dụng user administrator&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;1) Open the Group Policy editor using gpmc.msc&#10;&#10;2) Select your domain and expand Group Policy Objects then right click on "Default Domain Controller Policy" and Click Edit&#10;&#10;3) Under Computer Management, expand Policies and then select Windows Settings&#10;&#10;4) Expand Security Settings and Select Local Policies and then click on User Rights Management&#10;&#10;5) Right click on Allow Logon Locally and click on Properties&#10;&#10;6) In the next screen you can Add the User of Group that you want&#10;&#10;&lt;/pre&gt;&#10;&lt;p&gt;Hoặc&lt;/p&gt;</description></item><item><title>Cài đặt cụm hadoop cluster 3 node – How to Install and Set Up a 3-Node Hadoop Cluster</title><link>https://blog.devopsvn.xyz/2019/08/31/cai-dat-cum-hadoop-cluster-3-node-how-to-install-and-set-up-a-3-node-hadoop-cluster/</link><pubDate>Sat, 31 Aug 2019 18:56:37 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/31/cai-dat-cum-hadoop-cluster-3-node-how-to-install-and-set-up-a-3-node-hadoop-cluster/</guid><description>&lt;p&gt;I- Chuẩn bị&lt;br /&gt;&#10;3 máy centos 7: &amp;lt;hostname&amp;gt;:&amp;lt;IP&amp;gt;&lt;br /&gt;&#10;&amp;#8211; node-master: 192.168.151.171&lt;br /&gt;&#10;&amp;#8211; node1: 192.168.151.172&lt;br /&gt;&#10;&amp;#8211; node2: 192.168.151.173&lt;br /&gt;&#10;Phần môi trường cần cài đặt trên 3 máy:&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;java jdk 1.8 trở lên&#10;&#10;yum install -y epel-release vim curl wget telnet&#10;&#10;disable firewall hoặc mở sẵn port&#10;&#10;service iptables stop&#10;&#10;chkconfig iptables off&#10;&#10;&lt;/pre&gt;&#10;&lt;p&gt;II- Kiến trúc hadoop cluster&lt;br /&gt;&#10;Kiến trúc hadoop cluster gồm 2 loại node chính:&lt;br /&gt;&#10;o Master node: lưu giữ thông tin về hệ thống file phân tán, tương đương với bảng inode của ext3, ngoài ra còn có nhiệm vụ lên kế hoạch phân bổ tài nguyên. Trong guide này, node master có 2 nhiệm vụ chính:&lt;br /&gt;&#10;o Name node: quản lý hệ thống file phân tán, nắm thông tin block dữ liệu nào nằm ở đâu trong cluster.&lt;br /&gt;&#10;o ResourceManager: quản lý các job của YARN và quản lý các job được xếp lịch chạy trên các node slave.&lt;br /&gt;&#10;o Slave node: lưu dữ liệu thực và cung cấp sức mạnh phần cứng để chạy các job, trong lab này là node1 và node2:&lt;br /&gt;&#10;o Datanode quản lý các block dữ liệu về mặt vật lý.&lt;br /&gt;&#10;o Nodemanager, quản lý thực hiện các task trên node.&lt;/p&gt;</description></item><item><title>Thay đổi config trong postgres – Reload postgres configuration without restart</title><link>https://blog.devopsvn.xyz/2019/08/31/thay-doi-config-trong-postgres-reload-postgres-configuration-without-restart/</link><pubDate>Sat, 31 Aug 2019 18:42:30 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/31/thay-doi-config-trong-postgres-reload-postgres-configuration-without-restart/</guid><description>&lt;p&gt;PostgreSQL có 2 file cấu hìnhL pg_hba.conf và postgresql.conf. Cả 2 file này đều nằm trong thư mục data của pg_home, hoặc đường dẫn: $PGDATA, hoặc /var/lib/pgsql/data&lt;br /&gt;&#10;pg_hba.conf: chứa thông tin xác thực tới postgres, như quyết định user nào, được kết nối tới postgres theo hình thức nào.&lt;br /&gt;&#10;postgresql.conf chứa các thông tin cấu hình về hệ thống như log, archive, etc&lt;/p&gt;&#10;&lt;p&gt;Thao tác reload cấu hình:&lt;br /&gt;&#10;thực hiện như sau:&lt;/p&gt;</description></item><item><title>Create large ~1 GB random dataset in PostgreSQL</title><link>https://blog.devopsvn.xyz/2019/08/27/create-large-1-gb-random-dataset-in-postgresql/</link><pubDate>Tue, 27 Aug 2019 07:11:04 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/27/create-large-1-gb-random-dataset-in-postgresql/</guid><description>&lt;p&gt;Chạy SQL sau để gen data lớn cho postgres&lt;/p&gt;&#10;&lt;pre class="lang:tsql decode:true "&gt;CREATE TABLE large_test (num1 bigint, num2 double precision, num3 double precision);&#10;&#10;&#10;&#10;INSERT INTO large_test (num1, num2, num3)&#10;&#10; SELECT round(random()*10), random(), random()*142&#10;&#10; FROM generate_series(1, 20000000) s(i);&lt;/pre&gt;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Xử lý lỗi SSH chậm của centos</title><link>https://blog.devopsvn.xyz/2019/08/26/xu-ly-loi-ssh-cham-cua-centos/</link><pubDate>Mon, 26 Aug 2019 11:17:09 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/26/xu-ly-loi-ssh-cham-cua-centos/</guid><description>&lt;p&gt;Nếu SSH tới  máy chủ quá chậm, kể cả SSH trong LAN, hay đối với máy chủ vừa mới cài xong, đôi khi mỗi lần SSH phải đợi tầm 5-10s mới login thành công. Nguyên nhân do sshd cố phân giải IP sang  hostname hoặc domain name đối với mọi IP truy cập tới. Để tắt việc này, sửa file sau đó restart service sshd&lt;/p&gt;&#10;&lt;pre class=""&gt;/etc/ssh/sshd_config&#10;&#10;#change usrDNS ==&amp;gt; no&#10;&#10;useDNS no&lt;/pre&gt;&#10;&lt;p&gt;Nếu vấn đề vẫn k giải quyết, có thể debug như sau:&lt;br /&gt;&#10;SSH tới máy chủ với option -vv xem nó chậm ở đâu&lt;br /&gt;&#10;Ví dụ:&lt;/p&gt;</description></item><item><title>Thông báo khi có user SSH thành công qua email</title><link>https://blog.devopsvn.xyz/2019/08/24/thong-bao-khi-co-user-ssh-thanh-cong-qua-email/</link><pubDate>Sat, 24 Aug 2019 17:36:43 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/24/thong-bao-khi-co-user-ssh-thanh-cong-qua-email/</guid><description>&lt;p&gt;Khi có user log in vào máy qua SSH, các file trong thư mục /etc/profile.d/ sẽ được thực thi. Lợi dụng việc này, ta sẽ viết script để tự động gửi mail thông báo khi có ai đó log in thành công&lt;br /&gt;&#10;Thiết kế:&lt;/p&gt;&#10;&lt;pre class="wrap-toggle:false lang:default decode:true"&gt;/opt/batch/backup_web/mail.py File gửi mail, được viết bằng python&#10;&#10;/etc/profile.d/notify_login.sh File sh, sẽ được chạy mỗi khi login, file này sẽ gọi tới file python ở trên để gửi mail&lt;/pre&gt;&#10;&lt;p&gt;Nội dung cả 2 file:&lt;br /&gt;&#10;File mail.py&lt;/p&gt;</description></item><item><title>Script nén log file, sau đó move sang thư mục backup</title><link>https://blog.devopsvn.xyz/2019/08/24/script-nen-log-file-sau-do-move-sang-thu-muc-backup/</link><pubDate>Sat, 24 Aug 2019 17:26:00 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/24/script-nen-log-file-sau-do-move-sang-thu-muc-backup/</guid><description>&lt;p&gt;Gồm 2 script, cơ chế:&lt;br /&gt;&#10;&amp;#8211; Dọn nén các file .log trong folder chứa log, ở đây là /opt/batch/&amp;lt;tên batch&amp;gt;/log (Điều chỉnh tron file chạy chính)&lt;br /&gt;&#10;&amp;#8211; Sau khi nén xong thì đưa lên file server để chứa: ở đây đã mount file server vào /net/filesv (cấu hình điều chỉnh trong file thứ cấp)&lt;br /&gt;&#10;&amp;#8211; Các file log được dọn là các file log có từ tháng trước, và hiện tại không có tiến trình nào đang đọc ghi: ví dụ: hnay là tháng 8 thì sẽ dọn các file có timestamp là tháng 7&lt;/p&gt;</description></item><item><title>Tích hợp cảnh báo qua telegram với PRTG</title><link>https://blog.devopsvn.xyz/2019/08/21/tich-hop-canh-bao-qua-telegram-voi-prtg/</link><pubDate>Wed, 21 Aug 2019 11:52:18 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/21/tich-hop-canh-bao-qua-telegram-voi-prtg/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-276" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/08/429763-paessler-prtg-network-monitor-logo.jpg" alt="" width="810" height="456" srcset="https://blog.devopsvn.xyz/wp-content/uploads/2019/08/429763-paessler-prtg-network-monitor-logo.jpg 810w, https://blog.devopsvn.xyz/wp-content/uploads/2019/08/429763-paessler-prtg-network-monitor-logo-300x169.jpg 300w, https://blog.devopsvn.xyz/wp-content/uploads/2019/08/429763-paessler-prtg-network-monitor-logo-768x432.jpg 768w" sizes="auto, (max-width: 810px) 100vw, 810px" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Bước 1: cần có 1 con bot trên telegram, cách tạo bot các bạn chat với @botfather và làm theo hướng dẫn. Sau khi thực hiện, sẽ có token trả về, sử dụng để authen đối với các request tới bot&lt;br /&gt;&#10;token có dạng đại loại như:&lt;br /&gt;&#10;481775980:NAGtU-UYFQfYhufthedUAwMB2XWzRc8F6AA&lt;br /&gt;&#10;Bước 2: tạo 1 room chat với con bot chúng ta vừa tạo, cứ tạo cuộc trò chuyện mới sau đó add con bot mới vào.&lt;br /&gt;&#10;Bước 3: Lấy chat ID của cuộc trò chuyện vừa tạo&lt;br /&gt;&#10;sử dụng URL có định dạng:&lt;br /&gt;&#10;https://api.telegram.org/bot&amp;lt;token của bot&amp;gt;/getUpdates&lt;br /&gt;&#10;VD: https://api.telegram.org/bot481775980:NAGtU-UYFQfYhufthedUAwMB2XWzRc8F6AA/getUpdates&lt;br /&gt;&#10;call lên url mới có với header: &amp;#8220;Content-Type: application/json&amp;#8221;&lt;/p&gt;</description></item><item><title>Tìm hiểu về DRBD – hệ thống lưu trữ trên linux</title><link>https://blog.devopsvn.xyz/2019/08/14/tim-hieu-ve-drbd-he-thong-luu-tru-tren-linux/</link><pubDate>Wed, 14 Aug 2019 20:54:15 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/14/tim-hieu-ve-drbd-he-thong-luu-tru-tren-linux/</guid><description>&lt;h2&gt;1. DRBD là gì? &lt;a name="user-content-1"&gt;&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;&lt;code&gt;DRBD&lt;/code&gt; viết tắt của &lt;strong&gt;Distributed Replicated Block Device&lt;/strong&gt;, là một tiện ích sử dụng để nâng cao tính sẵn sàng của hệ thống. Nó là được xây dựng trên nền ứng dụng mã nguồn mở để đơn giản hóa việc chia sẻ các dữ liệu trong hệ thống lưu trữ với nhau qua đường truyền mạng. Chúng ta có thể hiểu nôm na rằng đây là RAID-1 sử dụng các giao tiếp mạng để trao đổi dữ liệu cho nhau.&lt;/p&gt;</description></item><item><title>Hướng dẫn thêm ổ đĩa mới vào máy chủ centos – How to add new hard disk to Centos server</title><link>https://blog.devopsvn.xyz/2019/08/14/huong-dan-them-o-dia-moi-vao-may-chu-centos-how-to-add-new-hard-disk-to-centos-server/</link><pubDate>Wed, 14 Aug 2019 18:45:35 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/14/huong-dan-them-o-dia-moi-vao-may-chu-centos-how-to-add-new-hard-disk-to-centos-server/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-160" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/05/1.png" alt="" width="600" height="315" /&gt;&lt;/p&gt;&#10;&lt;pre class="EnlighterJSRAW" data-enlighter-language="null"&gt;Môi trường thực hiện: Centos 7&#10;&#10;ổ cứng mới = 80GB&#10;&#10;mount point = /net&lt;/pre&gt;&#10;&lt;p&gt;kiểm tra ổ đĩa mới thêm bằng fdisk -l&lt;/p&gt;&#10;&lt;pre class="theme:classic toolbar:1 show-plain:1 lang:default highlight:0 decode:true"&gt;[root@localhost ~]# fdisk -l&#10;&#10;&#10;&#10;Disk /dev/sda: 21.5 GB, 21474836480 bytes, 41943040 sectors&#10;&#10;Units = sectors of 1 * 512 = 512 bytes&#10;&#10;Sector size (logical/physical): 512 bytes / 512 bytes&#10;&#10;I/O size (minimum/optimal): 512 bytes / 512 bytes&#10;&#10;Disk label type: dos&#10;&#10;Disk identifier: 0x000b1107&#10;&#10;&#10;&#10; Device Boot Start End Blocks Id System&#10;&#10;/dev/sda1 * 2048 2099199 1048576 83 Linux&#10;&#10;/dev/sda2 2099200 41943039 19921920 8e Linux LVM&#10;&#10;&#10;&#10;Disk /dev/sdb: 85.9 GB, 85899345920 bytes, 167772160 sectors&#10;&#10;Units = sectors of 1 * 512 = 512 bytes&#10;&#10;Sector size (logical/physical): 512 bytes / 512 bytes&#10;&#10;I/O size (minimum/optimal): 512 bytes / 512 bytes&#10;&#10;&#10;&#10;&#10;&#10;Disk /dev/mapper/centos-root: 18.2 GB, 18249416704 bytes, 35643392 sectors&#10;&#10;Units = sectors of 1 * 512 = 512 bytes&#10;&#10;Sector size (logical/physical): 512 bytes / 512 bytes&#10;&#10;I/O size (minimum/optimal): 512 bytes / 512 bytes&#10;&#10;&#10;&#10;&#10;&#10;Disk /dev/mapper/centos-swap: 2147 MB, 2147483648 bytes, 4194304 sectors&#10;&#10;Units = sectors of 1 * 512 = 512 bytes&#10;&#10;Sector size (logical/physical): 512 bytes / 512 bytes&#10;&#10;I/O size (minimum/optimal): 512 bytes / 512 bytes&#10;&#10;&#10;&#10;[root@localhost ~]#&#10;&#10;&lt;/pre&gt;&#10;&lt;p&gt;Thấy phần ổ đĩa mới: &lt;span class="lang:default highlight:0 decode:true crayon-inline"&gt;Disk /dev/sdb: 85.9 GB, 85899345920 bytes, 167772160 sectors&lt;/span&gt;&lt;br /&gt;&#10;gõ: fdisk /dev/sdb&lt;/p&gt;</description></item><item><title>Hướng dẫn cài đặt mapr cluster 3 node – How to install cluster mapr 3 nodes</title><link>https://blog.devopsvn.xyz/2019/08/13/huong-dan-cai-dat-mapr-cluster-3-node-how-to-install-cluster-mapr-3-nodes/</link><pubDate>Tue, 13 Aug 2019 20:54:50 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/13/huong-dan-cai-dat-mapr-cluster-3-node-how-to-install-cluster-mapr-3-nodes/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter wp-image-257 size-full" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/08/0d64f493222427748b7c21e0104763be.png" alt="" width="1500" height="512" srcset="https://blog.devopsvn.xyz/wp-content/uploads/2019/08/0d64f493222427748b7c21e0104763be.png 1500w, https://blog.devopsvn.xyz/wp-content/uploads/2019/08/0d64f493222427748b7c21e0104763be-300x102.png 300w, https://blog.devopsvn.xyz/wp-content/uploads/2019/08/0d64f493222427748b7c21e0104763be-768x262.png 768w, https://blog.devopsvn.xyz/wp-content/uploads/2019/08/0d64f493222427748b7c21e0104763be-1024x350.png 1024w, https://blog.devopsvn.xyz/wp-content/uploads/2019/08/0d64f493222427748b7c21e0104763be-1025x350.png 1025w" sizes="auto, (max-width: 1500px) 100vw, 1500px" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Thông tin hệ thống:&lt;br /&gt;&#10;Gồm 3 node:&lt;br /&gt;&#10;c2s-mapr-01 10.0.0.117&lt;br /&gt;&#10;c2s-mapr-02 10.0.0.118&lt;br /&gt;&#10;c2s-mapr-03 10.0.0.119&lt;br /&gt;&#10;OS: centos 6&lt;br /&gt;&#10;mapr version: 5.0&lt;/p&gt;&#10;&lt;p&gt;Hướng dẫn phân vùng ổ đĩa để thực hiện việc cài đặt:&lt;br /&gt;&#10;Trên mỗi máy centos, thực hiện phân vùng ổ đĩa như hình dưới, phần dung lượng không được mount vào đâu cả trong lvm sẽ được sử dụng bởi mapr trong quá trình cài đặt.&lt;br /&gt;&#10;Lưu ý: Volume Group Name phải đặt tên giống nhau trên cả 3 máy.&lt;br /&gt;&#10;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-258" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/08/sX2cJKLjFj.gif" alt="" width="800" height="600" /&gt;&lt;/p&gt;</description></item><item><title>Cài đặt NFS server trên Ubuntu</title><link>https://blog.devopsvn.xyz/2019/08/12/cai-dat-nfs-server-tren-ubuntu/</link><pubDate>Mon, 12 Aug 2019 14:34:22 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/12/cai-dat-nfs-server-tren-ubuntu/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter wp-image-249 size-full" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/08/FITS-Storage.png" alt="" width="600" height="300" srcset="https://blog.devopsvn.xyz/wp-content/uploads/2019/08/FITS-Storage.png 600w, https://blog.devopsvn.xyz/wp-content/uploads/2019/08/FITS-Storage-300x150.png 300w" sizes="auto, (max-width: 600px) 100vw, 600px" /&gt;&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;apt install nfs-kernel-server -y&#10;&#10;mkdir -p /opt/backup&#10;&#10;chmod 777 /opt/backup&lt;/pre&gt;&#10;&lt;p&gt;Sửa file /etc/exports&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;/opt/backup *(rw)&lt;/pre&gt;&#10;&lt;p&gt;bật service&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;systemctl enable nfs-kernel-server&#10;&#10;systemctl restart nfs-kernel-server&lt;/pre&gt;&#10;&lt;p&gt;Mở FW cho ESXi kết nối tới&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;ufw allow from 192.168.1.252&lt;/pre&gt;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description></item><item><title>Simple monitoring – Chương trình monitor mạng đơn giản.</title><link>https://blog.devopsvn.xyz/2019/08/11/simple-monitoring-chuong-trinh-monitor-mang-don-gian/</link><pubDate>Sun, 11 Aug 2019 17:02:39 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/11/simple-monitoring-chuong-trinh-monitor-mang-don-gian/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter wp-image-231 size-full" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/python-name-speaker-1-696x371.jpg" alt="" width="696" height="371" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Chương trình được viết bằng python&lt;/p&gt;&#10;&lt;p&gt;Hướng dẫn cài đặt:&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;Cài đặt python3, và các gói cần thiết&#10;&#10;yum install epel-release -y &amp;amp; yum install python36 python36-pip.noarch -y &amp;amp;&amp;amp; pip3 install requests&#10;&#10;&#10;&#10;Cách chạy app, sau khi thay cấu hình trong file config.py&#10;&#10;cd &amp;lt;đường dẫn thư mục app&amp;gt;&#10;&#10;python3 monitor_simple.py&#10;&#10;&#10;&#10;Cách thiết lập chạy mỗi phút 1 lần:&#10;&#10;crontab -l&#10;&#10;Thêm vào dòng sau:&#10;&#10;* * * * * /usr/bin/python3 &amp;lt;đường dẫn file monitor_simple.py&amp;gt;&lt;/pre&gt;&#10;&lt;p&gt;Download:&lt;/p&gt;</description></item><item><title>Thêm custom rule firewall cho ESXi</title><link>https://blog.devopsvn.xyz/2019/08/07/them-custom-rule-firewall-cho-esxi/</link><pubDate>Wed, 07 Aug 2019 08:40:56 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/08/07/them-custom-rule-firewall-cho-esxi/</guid><description>&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-212" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/1115.jpg" alt="" width="584" height="341" /&gt;&#10;&#10;Tương tự ufw, iptable của centos, ubuntu, ESXi cũng có firewall của riêng mình. Mặc định ESXi đã tạo sẵn 1 số rule, chúng ta có thể thao tác với các rule này trên web quản trị&#10;&#10;&#10;&#10;&lt;img loading="lazy" decoding="async" class="aligncenter wp-image-245 size-full" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/08/Capture.png" alt="" width="1904" height="702" srcset="https://blog.devopsvn.xyz/wp-content/uploads/2019/08/Capture.png 1904w, https://blog.devopsvn.xyz/wp-content/uploads/2019/08/Capture-300x111.png 300w, https://blog.devopsvn.xyz/wp-content/uploads/2019/08/Capture-768x283.png 768w, https://blog.devopsvn.xyz/wp-content/uploads/2019/08/Capture-1024x378.png 1024w, https://blog.devopsvn.xyz/wp-content/uploads/2019/08/Capture-1025x378.png 1025w" sizes="auto, (max-width: 1904px) 100vw, 1904px" /&gt;&#10;&#10;Tuy nhiên một có một số hạn chế như: chỉ đi ra ngoài qua outgoing port mặc định: 80, 22, 443.v.v&#10;&#10;Khi đó cần tạo thêm rule mới cho nhu cầu của mình. Cách mở thêm rule như sau:&#10;&#10;SSH vào máy chủ ESXi, sửa file /etc/vmware/firewall/custom.xml&#10;&#10;nếu không có thì tạo mới.&#10;&#10;Thêm rule vào theo định dạng sau:&#10;&#10;&lt;pre class="lang:default decode:true"&gt;&amp;lt;ConfigRoot&amp;gt;&#10;&#10; &amp;lt;service id='0100'&amp;gt;&#10;&#10; &amp;lt;id&amp;gt;sshClient-2222&amp;lt;/id&amp;gt;&#10;&#10; &amp;lt;rule&amp;gt;&#10;&#10; &amp;lt;direction&amp;gt;outbound&amp;lt;/direction&amp;gt;&#10;&#10; &amp;lt;protocol&amp;gt;tcp&amp;lt;/protocol&amp;gt;&#10;&#10; &amp;lt;porttype&amp;gt;dst&amp;lt;/porttype&amp;gt;&#10;&#10; &amp;lt;port&amp;gt;2222&amp;lt;/port&amp;gt;&#10;&#10; &amp;lt;/rule&amp;gt;&#10;&#10; &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&#10;&#10; &amp;lt;required&amp;gt;false&amp;lt;/required&amp;gt;&#10;&#10; &amp;lt;/service&amp;gt;&#10;&#10;&#10;&#10; &amp;lt;service id='0101'&amp;gt;&#10;&#10; &amp;lt;id&amp;gt;NFSClient-2049&amp;lt;/id&amp;gt;&#10;&#10; &amp;lt;rule&amp;gt;&#10;&#10; &amp;lt;direction&amp;gt;outbound&amp;lt;/direction&amp;gt;&#10;&#10; &amp;lt;protocol&amp;gt;tcp&amp;lt;/protocol&amp;gt;&#10;&#10; &amp;lt;porttype&amp;gt;dst&amp;lt;/porttype&amp;gt;&#10;&#10; &amp;lt;port&amp;gt;2049&amp;lt;/port&amp;gt;&#10;&#10; &amp;lt;/rule&amp;gt;&#10;&#10; &amp;lt;enabled&amp;gt;true&amp;lt;/enabled&amp;gt;&#10;&#10; &amp;lt;required&amp;gt;false&amp;lt;/required&amp;gt;&#10;&#10; &amp;lt;/service&amp;gt;&#10;&#10;&#10;&#10;&amp;lt;/ConfigRoot&amp;gt;&lt;/pre&gt;&#10;&#10;Sau đó refresh lại firewall&#10;&#10;&lt;pre class="lang:default decode:true "&gt;esxcli network firewall refresh&lt;/pre&gt;&#10;&#10;&amp;nbsp;</description></item><item><title>Regular Expressions cơ bản</title><link>https://blog.devopsvn.xyz/2019/07/07/regular-expressions-co-ban/</link><pubDate>Sun, 07 Jul 2019 16:52:16 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/07/07/regular-expressions-co-ban/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-231" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/python-name-speaker-1-696x371.jpg" alt="" width="696" height="371" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Cú pháp cơ bản:&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true "&gt;. 1 ký tự bất kỳ, ngoại trừ xuống dòng&#10;&#10;\. dấu chấm (\ thể hiện escape)&#10;&#10;\d Một ký tự số&#10;&#10;\D Một ký tự không phải là số&#10;&#10;\w Một chữ hoặc số&#10;&#10;\W Một ký tự không phải là chữ&#10;&#10;\s một Dấu cách&#10;&#10;\S Một ký tự không phải dấu cách&#10;&#10;\b 1 từ nguyên vẹn&#10;&#10;\n Xuống dòng&#10;&#10;\t Tab&lt;/pre&gt;&#10;&lt;p&gt;Modifiers&lt;/p&gt;</description></item><item><title>Hướng dẫn cài đặt centos 7 qua network PXE</title><link>https://blog.devopsvn.xyz/2019/07/06/224-2/</link><pubDate>Sat, 06 Jul 2019 21:10:59 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/07/06/224-2/</guid><description>&lt;p&gt;PXE (Preboot eXecution Environment) Server cho phép cài đặt OS qua network, có thể thiết lập tự động chọn các cấu hình ban đầu khi cài đặt OS. Lợi ích chính của việc này đó là chúng ta có thể cài đặt server 1 lần, sau đó sử dụng để cài đặt một cách tự động cho hàng chục, thậm chí hàng trăm máy khác nhau mà không cần phải mất công burn file ISO sang USB hay DVD như trước đây.&lt;/p&gt;</description></item><item><title>bật SNMP trên esxi 6.5</title><link>https://blog.devopsvn.xyz/2019/07/05/bat-snmp-tren-esxi-6-5/</link><pubDate>Fri, 05 Jul 2019 09:30:21 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/07/05/bat-snmp-tren-esxi-6-5/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-212" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/1115.jpg" alt="" width="584" height="341" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Có thể làm nhiều thứ trên GUI của ESXI tuy nhiên, không thể bật snmp từ trang quản trị, do mặc định snmpd không có cấu hình nên không start được&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-222" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/srv.png" alt="" width="1708" height="734" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Dưới đây là cách xử lý:&lt;br /&gt;&#10;Truy cập SSH vào máy chủ ESXi (nếu chưa bật SSH thì enable lên trong màn hình service ở hình trên là được)&lt;br /&gt;&#10;Sau khi SSH, làm theo dưới đây:&lt;/p&gt;</description></item><item><title>Cấu hình SSH cho switch cisco</title><link>https://blog.devopsvn.xyz/2019/07/04/cau-hinh-ssh-cho-switch-cisco/</link><pubDate>Thu, 04 Jul 2019 21:45:06 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/07/04/cau-hinh-ssh-cho-switch-cisco/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-219" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/security-new-Web-Image-800x534.jpg" alt="" width="800" height="534" /&gt;&lt;br /&gt;&#10;Tạo mật khẩu enable:&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;#enable&#10;&#10;#enable secret &amp;lt;PASSWORD&amp;gt;&#10;&#10;#conf t&lt;/pre&gt;&#10;&lt;p&gt;Gán địa chỉ IP quản trị và VLAN quản trị&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;config#ip default-gateway &amp;lt;FIREWALL INTERFACE IP ADDRESS&amp;gt;&#10;&#10;config#interface vlan &amp;lt;MANAGEMENT VLAN ID&amp;gt;&#10;&#10;config(int vlan id)#ip address &amp;lt;IP MANAGEMENT&amp;gt; &amp;lt;SUBNET MASK&amp;gt;&lt;/pre&gt;&#10;&lt;p&gt;Cấu hình hostname và domain name.&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;config#hostname &amp;lt;HOSTNAME&amp;gt;&#10;&#10;config#domain-name &amp;lt;tên gì đó ví dụ hostname.com&amp;gt;&lt;/pre&gt;&#10;&lt;p&gt;gen key RSA cho SSH&lt;/p&gt;&#10;&lt;pre class="lang:default decode:true"&gt;ByteSoft(config)# crypto key generate rsa&#10;&#10;&#10;&#10; The name for the keys will be: OTGswitch.OTG.com&#10;&#10; Choose the size of the key modulus in the range of 360 to 2048 for your&#10;&#10; General Purpose Keys. Choosing a key modulus greater than 512 may take&#10;&#10; a few minutes.&#10;&#10; &#10;&#10; How many bits in the modulus [512]: &#10;&#10;&#10;&#10;mặc định 512, Chọn 1024 nếu thích bảo mật hơn&lt;/pre&gt;&#10;&lt;p&gt;Bật SSH&lt;/p&gt;</description></item><item><title>Active office 2019 không cần dùng phần mềm</title><link>https://blog.devopsvn.xyz/2019/07/04/active-office-2019-khong-can-dung-phan-mem/</link><pubDate>Thu, 04 Jul 2019 21:20:58 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/07/04/active-office-2019-khong-can-dung-phan-mem/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-215" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/active-office-2019-1140x570.png" alt="" width="1140" height="570" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Bước 1: Mở notepad, paste nội dung sau và lưu lại dưới tên active.cmd&lt;/p&gt;&#10;&lt;pre class="lang:batch decode:true "&gt;@echo off&#10;&#10;title Kich hoat Microsoft Office 2019 ALL versions mienphi!&amp;amp;cls&amp;amp;echo ============================================================================&amp;amp;echo #Kich hoat Microsoft Office 2019 hop phap - Khong su dung phan mem&amp;amp;echo ============================================================================&amp;amp;echo.&amp;amp;echo #San pham ho tro:&amp;amp;echo - Microsoft Office Standard 2019&amp;amp;echo - Microsoft Office Professional Plus 2019&amp;amp;echo.&amp;amp;echo.&amp;amp;(if exist "%ProgramFiles%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles%\Microsoft Office\Office16")&amp;amp;(if exist "%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs" cd /d "%ProgramFiles(x86)%\Microsoft Office\Office16")&amp;amp;(for /f %%x in ('dir /b ..\root\Licenses16\ProPlus2019VL*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" &amp;gt;nul)&amp;amp;(for /f %%x in ('dir /b ..\root\Licenses16\ProPlus2019VL*.xrm-ms') do cscript ospp.vbs /inslic:"..\root\Licenses16\%%x" &amp;gt;nul)&amp;amp;echo.&amp;amp;echo ============================================================================&amp;amp;echo Activating your Office...&amp;amp;cscript //nologo ospp.vbs /unpkey:6MWKP &amp;gt;nul&amp;amp;cscript //nologo ospp.vbs /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP &amp;gt;nul&amp;amp;set i=1&#10;&#10;:server&#10;&#10;if %i%==1 set KMS_Sev=kms7.MSGuides.com&#10;&#10;if %i%==2 set KMS_Sev=kms8.MSGuides.com&#10;&#10;if %i%==3 set KMS_Sev=kms9.MSGuides.com&#10;&#10;if %i%==4 set KMS_Sev=kms.digiboy.ir&#10;&#10;if %i%==5 goto notsupported&#10;&#10;cscript //nologo ospp.vbs /sethst:%KMS_Sev% &amp;gt;nul&amp;amp;echo ============================================================================&amp;amp;echo.&amp;amp;echo.&#10;&#10;cscript //nologo ospp.vbs /act | find /i "successful" &amp;amp;&amp;amp; (echo.&amp;amp;echo ============================================================================&amp;amp;choice /n /c YN /m "Truy cap devopsvn.xyz: [Y,N]?" &amp;amp; if errorlevel 2 exit) || (echo Ket noi voi may chu KMS khong thanh cong! Dang ket noi lai... &amp;amp; echo Vui long cho... &amp;amp; echo. &amp;amp; echo. &amp;amp; set /a i+=1 &amp;amp; goto server)&#10;&#10;explorer "http://10.144.15.25"&amp;amp;goto halt&#10;&#10;:notsupported&#10;&#10;echo.&amp;amp;echo ============================================================================&amp;amp;echo Phien ban Office cua ban khong duoc ho tro.&amp;amp;echo Download phien ban moi nhat tai day: /:halt&#10;&#10;pause &amp;gt;nul&lt;/pre&gt;&#10;&lt;p&gt;Bước 2: mở file active.cmd vừa tạo dưới quyền administrator và ngồi chờ. Thành công sẽ báo&lt;/p&gt;</description></item><item><title>Xử lý lỗi cert SSL trên esxi</title><link>https://blog.devopsvn.xyz/2019/07/04/xu-ly-loi-cert-ssl-tren-esxi/</link><pubDate>Thu, 04 Jul 2019 19:06:10 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/07/04/xu-ly-loi-cert-ssl-tren-esxi/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-212" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/1115.jpg" alt="" width="584" height="341" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Case: Khi cài đặt Esxi ver 6.5. Một thanh niên cầu toàn, oder ngay 1 domain hịn, 1 SSL tương ứng để cắm lên ESXi với mục đích truy cập cho đỡ phải nhớ IP, và đã truy cập bẳng có ổ khoá xanh trên trình duyệt mới đã (Đừng hỏi tại sao lại public trang quản trị ESXi ra ngoài). Không may, up cái cert lỗi tè le lên, và thế là trang web quản trị chết toi luôn, telnet port 80, 443 thấy không thông nữa. làm gì đây:&lt;/p&gt;</description></item><item><title>devops roadmap</title><link>https://blog.devopsvn.xyz/2019/07/03/devops-roadmap/</link><pubDate>Wed, 03 Jul 2019 21:27:10 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/07/03/devops-roadmap/</guid><description>&lt;p&gt;Guidline cho các con giời.&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-209" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/07/DevOps-RoadMap-2.png" alt="" width="798" height="1600" /&gt;&lt;/p&gt;</description></item><item><title>Tìm hiểu kiến trúc Java Memory Model và Garbage Collection</title><link>https://blog.devopsvn.xyz/2019/06/28/tim-hieu-kien-truc-java-memory-model-va-garbage-collection/</link><pubDate>Fri, 28 Jun 2019 18:28:54 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/06/28/tim-hieu-kien-truc-java-memory-model-va-garbage-collection/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-197" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/06/1-1.png" alt="" width="605" height="468" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Trong bài viết này, kiến thức được áp dụng cho java 8  JDK8 Oracle Hot Spot 64 bit JVM. Trước hết, dưới đây là mô tả các vùng bộ nhớ của java&lt;/p&gt;&#10;&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-198" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/06/jvm.png" alt="" width="1257" height="741" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Mỗi khi khởi tạo JVM, OS cấp phát bộ nhớ cho process. Process cho chính con JVM, và phần bộ nhớ cấp cho nó bao gồm: Heap, meta space, JIT code cache, thread stack, và shared library. Chúng ta gọi phần bộ nhớ này là Native memory. Native memory là phần bộ nhớ được cung cấp cho các tiến trình bởi OS. Phần bộ nhớ này là bao nhiêu thì còn phụ thuộc vào  OS, CPU, và JRE. Chúng ta cùng tìm hiểu qua về các phần bộ nhớ có trong JVM:&lt;/p&gt;</description></item><item><title>Hướng dẫn cài đặt oracle client trên redhat 7 – How to install oracle client 12 on redhat</title><link>https://blog.devopsvn.xyz/2019/06/22/huong-dan-cai-dat-oracle-client-tren-redhat-7-how-to-install-oracle-client-12-on-redhat/</link><pubDate>Sat, 22 Jun 2019 16:31:15 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/06/22/huong-dan-cai-dat-oracle-client-tren-redhat-7-how-to-install-oracle-client-12-on-redhat/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-192" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/06/1.png" alt="" width="580" height="224" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Chuẩn bị:&lt;br /&gt;&#10;&amp;#8211; Redhat enterprise 7, có thể cài thêm repo: /cai-dat-centos-repo-cho-redhat-rhel-7/&lt;/p&gt;&#10;&lt;p&gt;&amp;#8211; Bộ cài Oracle client 12: https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-linux-12201-3608234.html&lt;/p&gt;&#10;&lt;p&gt;Trên máy chủ linux, cài đặt các gói: unzip, gcc&lt;/p&gt;&#10;&lt;pre class="lang:sh decode:true"&gt;yum install -y gcc unzip&lt;/pre&gt;&#10;&lt;p&gt;Download bộ cài client: linuxx64_12201_client.zip&lt;/p&gt;&#10;&lt;p&gt;Giải nén bộ cài, ta được thư mục client&lt;/p&gt;&#10;&lt;pre class="font:consolas lang:default decode:true"&gt;[root@testora opt]# tree -L 3&#10;&#10;.&#10;&#10;├── client&#10;&#10;│   ├── install&#10;&#10;│   │   └── ***********&#10;&#10;│   ├── response&#10;&#10;│   │   ├── client_install.rsp #File response, cấu hình cho quá trình cài đặt&#10;&#10;│   │   └── netca.rsp&#10;&#10;│   ├── runInstaller # File cài đặt&#10;&#10;│   ├── stage&#10;&#10;│   │   ├── **********&#10;&#10;│   └── welcome.html&#10;&#10;└── linuxx64_12201_client.zip&lt;/pre&gt;&#10;&lt;p&gt;Mở file response/client_install.rsp và thiết lập các thông số như sau:&lt;/p&gt;</description></item><item><title>Cài đặt centos repo cho redhat rhel 7</title><link>https://blog.devopsvn.xyz/2019/06/22/cai-dat-centos-repo-cho-redhat-rhel-7/</link><pubDate>Sat, 22 Jun 2019 13:41:50 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/06/22/cai-dat-centos-repo-cho-redhat-rhel-7/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" class="aligncenter size-full wp-image-192" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/06/1.png" alt="" width="580" height="224" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Case: Cài đặt redhat enteprise, chưa active gì, trong máy không có repo nào để cài gói cơ bản, mở /etc/yum.repo.d rỗng.&lt;/p&gt;&#10;&lt;p&gt;Để cài đặt centos repo cho redhat, tiền hành làm như sau:&lt;br /&gt;&#10;Tạo file mới có định dạng .repo ví dụ Centos.repo trong thư mục /etc/yum.repo.d&lt;/p&gt;&#10;&lt;p&gt;Nội dung:&lt;/p&gt;&#10;&lt;pre class="font:consolas lang:sh decode:true "&gt;[centos]&#10;&#10;name=CentOS-7&#10;&#10;baseurl=http://ftp.heanet.ie/pub/centos/7/os/x86_64/&#10;&#10;enabled=1&#10;&#10;gpgcheck=1&#10;&#10;gpgkey=http://ftp.heanet.ie/pub/centos/7/os/x86_64/RPM-GPG-KEY-CentOS-7&#10;&#10;&lt;/pre&gt;&#10;&lt;p&gt;Sau đó lưu lại dưới tên Centos-Base.repo&lt;br /&gt;&#10;Tiếp tục chạy lệnh:&lt;/p&gt;</description></item><item><title>Note cài đặt postgresql trên centos 7</title><link>https://blog.devopsvn.xyz/2019/06/04/note-cai-dat-postgresql-tren-centos-7/</link><pubDate>Tue, 04 Jun 2019 17:22:08 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/06/04/note-cai-dat-postgresql-tren-centos-7/</guid><description>&lt;p&gt;&lt;img decoding="async" src="https://www.linode.com/docs/databases/postgresql/how-to-install-postgresql-relational-databases-on-centos-7/use-postgresql-on-centos-7-title.png" alt="Cài đặt PostgreSQL trên centos 7" /&gt;&lt;br /&gt;&#10;Tính tới thời điểm hiện tại 2019-06, version khi cài đặt PostgreSQL qua yum trên centos 7 là 9.2.24&lt;br /&gt;&#10;&lt;code&gt;[root@posgres-2 etc]# yum info postgresql-server&lt;br /&gt;&#10;Loaded plugins: fastestmirror, langpacks&lt;br /&gt;&#10;Loading mirror speeds from cached hostfile&lt;br /&gt;&#10;* base: centos-hn.viettelidc.com.vn&lt;br /&gt;&#10;* epel: mirror.horizon.vn&lt;br /&gt;&#10;* extras: centos-hn.viettelidc.com.vn&lt;br /&gt;&#10;* updates: centos-hn.viettelidc.com.vn&lt;br /&gt;&#10;Installed Packages&lt;br /&gt;&#10;Name : postgresql-server&lt;br /&gt;&#10;Arch : x86_64&lt;br /&gt;&#10;Version : 9.2.24&lt;br /&gt;&#10;Release : 1.el7_5&lt;br /&gt;&#10;Size : 16 M&lt;br /&gt;&#10;Repo : installed&lt;br /&gt;&#10;From repo : base&lt;br /&gt;&#10;Summary : The programs needed to create and run a PostgreSQL server&lt;br /&gt;&#10;URL : http://www.postgresql.org/&lt;br /&gt;&#10;License : PostgreSQL&lt;br /&gt;&#10;Description : PostgreSQL is an advanced Object-Relational database management system (DBMS).&lt;br /&gt;&#10;: The postgresql-server package contains the programs needed to create&lt;br /&gt;&#10;: and run a PostgreSQL server, which will in turn allow you to create&lt;br /&gt;&#10;: and maintain PostgreSQL databases.&lt;br /&gt;&#10;&lt;/code&gt;&lt;br /&gt;&#10;Chúng ta sẽ cài version này, trước hết update toàn bộ lên cho chắc cú&lt;br /&gt;&#10;&lt;code&gt;yum update -y&lt;/code&gt;&lt;br /&gt;&#10;Tiến hành cài đặt:&lt;br /&gt;&#10;&lt;code&gt;yum install postgresql-server postgresql-contrib -y&lt;/code&gt;&lt;br /&gt;&#10;Thiết định ban đầu:&lt;br /&gt;&#10;&lt;code&gt;postgresql-setup initdb&lt;br /&gt;&#10;systemctl enable postgresql&lt;br /&gt;&#10;systemctl start postgresql&lt;/code&gt;&lt;br /&gt;&#10;Kiểm tra service nó đã listen chưa:&lt;br /&gt;&#10;&lt;code&gt;[root@posgres-2 etc]# netstat -napl | grep post&lt;br /&gt;&#10;tcp 0 127.0.0.1:5432 0.0.0.0:* LISTEN 3209/postgres&lt;br /&gt;&#10;udp6 0 0 ::1:39788 ::1:39788 ESTABLISHED 3209/postgres&lt;br /&gt;&#10;unix 2 [ ACC ] STREAM LISTENING 41137 3209/postgres /tmp/.s.PGSQL.5432&lt;br /&gt;&#10;unix 2 [ ACC ] STREAM LISTENING 41135 3209/postgres /var/run/postgresql/.s.PGSQL.5432&lt;br /&gt;&#10;unix 3 [ ] STREAM CONNECTED 41116 3210/postgres: logg&lt;br /&gt;&#10;&lt;/code&gt;&lt;br /&gt;&#10;Thấy rõ, mặc định thằng này listen trên localhost, thế này thì từ bên ngoài làm sao kết nối tới được. Chúng ta enable nó lên cho listen trên tất cả interface. Mở file cấu hình của thằng này:&lt;br /&gt;&#10;&lt;code&gt;vim /var/lib/pgsql/data/postgresql.conf&lt;/code&gt;&lt;br /&gt;&#10;Sửa lại các dòng có key tương ứng như sau:&lt;br /&gt;&#10;&lt;code&gt;listen_addresses = '*'&lt;/code&gt;&lt;br /&gt;&#10;restart lại service:&lt;br /&gt;&#10;&lt;code&gt;systemctl restart postgresql&lt;/code&gt;&lt;br /&gt;&#10;Đã xong phần cài đặt service, tiếp theo sẽ là tạo database, user, etc&lt;br /&gt;&#10;PostgreSQL sau khi cài đặt, tự động nó sẽ thêm vào cho hệ điều hành 1 user = postgres&lt;br /&gt;&#10;Mọi thao tác với PostGreSQL phải switch sang user này để thực hiện:&lt;br /&gt;&#10;&lt;code&gt;[root@posgres-2 ~]# su - postgres&lt;br /&gt;&#10;-bash-4.2$&lt;/code&gt;&lt;br /&gt;&#10;Tạo database:&lt;br /&gt;&#10;&lt;code&gt;psql -c createdb &amp;lt;tên database&amp;gt;&lt;/code&gt;&lt;br /&gt;&#10;Kết nối vào database đã có:&lt;br /&gt;&#10;&lt;code&gt;psql &lt;tên database&gt;&lt;/code&gt;&lt;br /&gt;&#10;Ví dụ:&lt;br /&gt;&#10;&lt;code&gt;psql chip1stop&lt;br /&gt;&#10;psql (9.2.15)&lt;br /&gt;&#10;Type "help" for help.&lt;/p&gt;</description></item><item><title>Sử dụng zabbix theo dõi thông tin metric của cluster hadoop</title><link>https://blog.devopsvn.xyz/2019/05/28/su-dung-zabbix-theo-doi-thong-tin-metric-cua-cluster-hadoop/</link><pubDate>Tue, 28 May 2019 14:53:58 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/05/28/su-dung-zabbix-theo-doi-thong-tin-metric-cua-cluster-hadoop/</guid><description>&lt;p&gt;Yêu cầu:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;div&gt;Monitor đc các thông số cơ bản của cluster hadoop:&lt;/div&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Số lượng app được submit&lt;/li&gt;&#10;&lt;li&gt;Số app đang chạy&lt;/li&gt;&#10;&lt;li&gt;Số app đang pending&lt;/li&gt;&#10;&lt;li&gt;Số memory: total, used&lt;/li&gt;&#10;&lt;li&gt;Số Vcore: Total, used&lt;/li&gt;&#10;&lt;li&gt;Node: số node, số node bị mất, số node có trạng thái unhealthy&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Thực hiện:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Có thể xem các con số trên tại trang running custer của resource manager:&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;img decoding="async" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/05/052819_0755_Sdngzabbix1.png" alt="" /&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Ngoài ra, còn có thể sụng API để lấy các con số này:&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;img decoding="async" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/05/052819_0755_Sdngzabbix2.png" alt="" /&gt;&lt;/p&gt;</description></item><item><title>Các thông số của CPU trên linux</title><link>https://blog.devopsvn.xyz/2019/05/18/cac-thong-so-cua-cpu-tren-linux/</link><pubDate>Sat, 18 May 2019 15:42:26 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/05/18/cac-thong-so-cua-cpu-tren-linux/</guid><description>&lt;p&gt;&lt;strong&gt;Các thông số của CPU khi sử dụng lệnh top&lt;/strong&gt;&lt;br /&gt;&#10;&lt;code&gt;Cpu(s): 0.1%us, 0.2%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st&lt;/code&gt;&lt;br /&gt;&#10;&lt;strong&gt;0.1%us&lt;/strong&gt; CPU đang sử dụng 0.1% năng lực xử lý cho running user space processes, tức các tiến trình không thuộc về hoạt động của kernel như shell, các trình biên dịch, database, webserver, và các chương trình khác. Nếu CPU không ở trạng thái nghỉ, idle thì thường phần lớn năng lực của nó đang dùng cho các tiến trình user như thế này.&lt;/p&gt;</description></item><item><title>Tìm hiểu về 2 chế độ active và passive của FTP</title><link>https://blog.devopsvn.xyz/2019/05/18/tim-hieu-ve-2-che-do-active-va-passive-cua-ftp-2/</link><pubDate>Sat, 18 May 2019 15:07:25 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/05/18/tim-hieu-ve-2-che-do-active-va-passive-cua-ftp-2/</guid><description>&lt;ul style="margin-left: 51pt"&gt;&#10;&lt;li&gt;&#10;&lt;div style="background: white"&gt;&lt;span style="color:#222222; font-family:Verdana; font-size:11pt"&gt;&lt;strong&gt;Giới thiệu &lt;/strong&gt;&lt;br /&gt;&#10;&#9;&#9;&#9;&#9;&lt;/span&gt;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p style="background: white"&gt;&lt;span style="color:#222222; font-family:Verdana; font-size:11pt"&gt;Active và Passive FTP: Đây là 2 chế độ hoạt động của FTP server. Bài viết này sẽ giải thích về sự ảnh hưởng khác nhau của Firewall lên 2 chế độ Active và Passive. Bài viết này được viết theo kinh nghiệm của mình.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;ul style="margin-left: 51pt"&gt;&#10;&lt;li&gt;&#10;&lt;div style="background: white"&gt;&lt;span style="color:#222222; font-family:Verdana; font-size:11pt"&gt;&lt;strong&gt;Cơ bản FTP Service&lt;/strong&gt;&lt;br /&gt;&#10;&#9;&#9;&#9;&#9;&lt;/span&gt;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p style="background: white"&gt;&lt;span style="color:#222222; font-family:Verdana; font-size:11pt"&gt;FTP chỉ sử dụng TCP để truyền tải, FTP server sẽ listen trên 2 port 20 và 21, sử dụng port 21 để xác thực, điều khiển ( gọi là control port) và Port 20 để truyền tải dữ liệu ( data Port ). Nhưng data port không hẳn luôn luôn là 20 mà nó phụ thuộc vào FTP mode. Sau khi đọc xong hết bài viết các bạn sẽ hiểu được điều này.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Hướng dẫn cài đặt VNC server trên centos</title><link>https://blog.devopsvn.xyz/2019/05/17/huong-dan-cai-dat-vnc-server-tren-centos/</link><pubDate>Fri, 17 May 2019 12:51:20 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/05/17/huong-dan-cai-dat-vnc-server-tren-centos/</guid><description>&lt;p&gt;&lt;img decoding="async" src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQomyocSIrYwZ9gOj76w56d8-n9ILnVJuGSS3tjF6aEI1t3At6a" alt="" /&gt;&lt;br /&gt;&#10;Để sử dụng GUI từ xa của centos, có thể dùng VNC server, sau đây là hướng dẫn:&lt;/p&gt;&#10;&lt;p&gt;Lệnh cài đặt:&lt;br /&gt;&#10;&lt;code&gt;yum install tigervnc-server -y&lt;br /&gt;&#10;chkconfig vncserver on&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;VNC sử dụng chính user của hệ điều hành, nên cần thêm user thì chỉ cần dùng lệnh useradd như bình thường, tuy nhiên, password thì VNC dùng password riêng. Để đặt password, ví du cho user huybk thì cần:&lt;br /&gt;&#10;&lt;code&gt;su - huybk&lt;br /&gt;&#10;vncpasswd&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Print Spooler Error code 3. The system cannot find the path specified</title><link>https://blog.devopsvn.xyz/2019/05/15/print-spooler-error-code-3-the-system-cannot-find-the-path-specified/</link><pubDate>Wed, 15 May 2019 12:59:46 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/05/15/print-spooler-error-code-3-the-system-cannot-find-the-path-specified/</guid><description>&lt;p&gt;Xử lý lỗi:&lt;/p&gt;&#10;&lt;h1 id="threadQuestionTitleStatusIcons" class="c-heading-3"&gt;Print Spooler Error code 3. The system cannot find the path specified&lt;/h1&gt;&#10;&lt;p&gt;Không thể start service print spooler, báo lỗi như trên, mở properties của service thì thấy execute path không có gì. Có thể xử lý như sau:&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Spooler registry key and right-click Spooler &gt; New &gt; Expandable String Value &gt; then name the value ImagePath then double-click ImagePath and type (or copy and paste) the following under "Value data":&lt;/p&gt;</description></item><item><title>Returning Blanks with VLOOKUP</title><link>https://blog.devopsvn.xyz/2019/04/04/returning-blanks-with-vlookup/</link><pubDate>Thu, 04 Apr 2019 09:47:27 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/04/04/returning-blanks-with-vlookup/</guid><description>&lt;p style="background: white"&gt;&lt;span style="color:black; font-family:Arial; font-size:10pt"&gt;When you use VLOOKUP to return a value from a data table, the function does not differentiate between blanks and zero values in what it returns. If the source value is zero, then VLOOKUP returns 0. Likewise, if the source is blank, then VLOOKUP still returns the value 0. For some purposes, this may not do—you need to know whether the cell being looked up is blank or if it really contains a 0.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Sử dụng docker – Ghi đè entrypoint mặc định của container với docker run</title><link>https://blog.devopsvn.xyz/2019/02/02/su-dung-docker-ghi-de-entrypoint-mac-dinh-cua-container-voi-docker-run/</link><pubDate>Sat, 02 Feb 2019 17:42:09 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/02/02/su-dung-docker-ghi-de-entrypoint-mac-dinh-cua-container-voi-docker-run/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/01/1_JAJ910fg52ODIRZjHXASBQ.png" alt="" width="1326" height="611" class="alignnone size-full wp-image-126" /&gt;&lt;/p&gt;&#10;&lt;p&gt;Entrypoint là những command mặc định, được chạy lần đầu khi khởi tạo container từ image. Entrypoint được định nghĩa ban đầu trong dockerfile. Tuy nhiên, đôi khi người quản trị muốn chạy cái gì đó khác bên trong container, vì vậy, có thể ghi đè ENTRYPOINT mặc định mỗi lần start container bởi tham số &amp;#8211;entrypoint&lt;br /&gt;&#10;Ví dụ,chạy ls khi start container&lt;br /&gt;&#10;&lt;code&gt;docker run --entrypoint "/bin/ls" 0cbf37812bff&lt;/code&gt;&lt;br /&gt;&#10;Xoá toàn bộ container mặc định:&lt;br /&gt;&#10;docker run -it &amp;#8211;entrypoint=&amp;#8221;&amp;#8221; 0cbf37812bff&lt;br /&gt;&#10;Tham số &amp;#8211;entrypoint sẽ xoá toàn bộ entrypoint hiện có, và thêm entrypoint mới. Như ở lệnh trên, entrypoint mới rỗng nên những cái hiện có sẽ bị remove toàn bộ.&lt;/p&gt;</description></item><item><title>Xử lý lỗi docker – WARNING: IPv4 forwarding is disabled. Networking will not work.</title><link>https://blog.devopsvn.xyz/2019/02/02/xu-ly-loi-docker-warning-ipv4-forwarding-is-disabled-networking-will-not-work/</link><pubDate>Sat, 02 Feb 2019 17:18:47 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/02/02/xu-ly-loi-docker-warning-ipv4-forwarding-is-disabled-networking-will-not-work/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/01/1_JAJ910fg52ODIRZjHXASBQ.png" alt="" width="1326" height="611" class="alignnone size-full wp-image-126" /&gt;&lt;br /&gt;&#10;Tạo container docker thì được thông báo:&lt;/p&gt;&#10;&lt;p&gt;&lt;code&gt;WARNING: IPv4 forwarding is disabled. Networking will not work.&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;Nguyên nhân do hệ điều hành host đangtawts IP forwarding, để bật lên, thêm/sửa dòng sau trong &lt;code&gt;/etc/sysctl.conf&lt;/code&gt;&lt;br /&gt;&#10;&lt;code&gt;net.ipv4.ip_forward=1&lt;/code&gt;&lt;/p&gt;&#10;&lt;p&gt;Sau đó restart network, hoặc chạy lệnh&lt;br /&gt;&#10;&lt;code&gt;sysctl -p&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Sử dụng docker – Tạo một container</title><link>https://blog.devopsvn.xyz/2019/02/01/su-dung-docker-tao-mot-container/</link><pubDate>Fri, 01 Feb 2019 13:08:46 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/02/01/su-dung-docker-tao-mot-container/</guid><description>&lt;p&gt;&lt;img loading="lazy" decoding="async" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/01/1_JAJ910fg52ODIRZjHXASBQ.png" alt="" width="1326" height="611" class="alignnone size-full wp-image-126" /&gt;&lt;br /&gt;&#10;Để có contaner, trước hết cần có image, tương tự như cài windows thì phải có đĩa vậy. Image của docker có thể được lấy tự động từ docker hub (mặc định) hoặc từ docker registry nội bộ của doanh nghiệp. Để lấy docker image về, sử dụng cú pháp:&lt;br /&gt;&#10;&lt;code&gt;docker pull &lt;image&gt;&lt;/code&gt;&lt;br /&gt;&#10;Ví dụ: Muốn lấy image của centos 6 về máy:&lt;br /&gt;&#10;&lt;code&gt;docker pull centos:6&lt;/code&gt;&lt;br /&gt;&#10;List các image trên máy:&lt;br /&gt;&#10;&lt;code&gt;docker images&lt;/code&gt;&lt;br /&gt;&#10;Output:&lt;br /&gt;&#10;&lt;code&gt;[root@localhost data]# docker images&lt;br /&gt;&#10;REPOSITORY TAG IMAGE ID CREATED SIZE&lt;br /&gt;&#10;docker.io/centos 6 0cbf37812bff 3 months ago 194 MB&lt;br /&gt;&#10;docker.io/centos/systemd latest 78c36a71df7e 6 months ago 200 MB&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Sử dụng docker – Các khái niệm cơ bản</title><link>https://blog.devopsvn.xyz/2019/01/30/su-dung-docker-cac-khai-niem-co-ban/</link><pubDate>Wed, 30 Jan 2019 16:30:25 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/01/30/su-dung-docker-cac-khai-niem-co-ban/</guid><description>&lt;p&gt;&lt;img decoding="async" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/01/docker-architecture-1-1.png" alt="" /&gt;&lt;/p&gt;&#10;&lt;h3&gt;Khái niệm&lt;/h3&gt;&#10;&lt;p&gt;Docker &amp;#8211; là một công cụ tạo môi trường được đóng gói (Container) mà không làm tác động tới môi trường hiện tại của máy, môi trường trong Docker sẽ chạy độc lập, được gọi là container. Mỗi containers chứa ứng dụng gồm chứa các thư viện riêng, nhưng kernel được chia sẻ với các containers khác. Mỗi kernel được chạy trong các môi trường độc lập với nhau. Docker chạy được trên mọi máy tính, đám mây hay bất cứ nền tảng nào. Vì vậy bạn có thể đẩy ứng dụng đến bất cứ đâu mà không cần phải quan tâm đến môi trường đích như thế nào &amp;#8230;&lt;/p&gt;</description></item><item><title>Sử dụng docker – Xóa mù</title><link>https://blog.devopsvn.xyz/2019/01/27/su-dung-docker-xoa-mu/</link><pubDate>Sun, 27 Jan 2019 22:32:48 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/01/27/su-dung-docker-xoa-mu/</guid><description>&lt;p&gt;&lt;img decoding="async" class="aligncenter" src="https://blog.devopsvn.xyz/wp-content/uploads/2019/01/1_JAJ910fg52ODIRZjHXASBQ.png" alt="" /&gt;&lt;br /&gt;&#10;Thuở xưa, thời còn mông muội, cả thế giới chỉ biết cài OS lên, nhét app vào rồi bấm chạy.&lt;br /&gt;&#10;Khi phần cứng máy chủ trở nên rẻ tiền hơn, đồng thời, có những nhu cầu oái ăm phát sinh trong doanh nghiệp: một số app cần chạy độc lập &amp;#8211;&amp;gt; mua máy khác cho nó chạy &amp;#8211;&amp;gt; tăng số lượng phần cứng cần quản lý, lãng phí tài nguyên máy chủ do cái app đó dùng có tí tẹo tài nguyên mà không share cho con nào khác được. Và thế là Ảo hoá ra đời.&lt;br /&gt;&#10;Như 1 sự cứu tinh, cho phép băm một máy chủ vật lý thành hàng chục OS độc lập chạy song song đồng thời , tương đương với 1 máy chủ vật lý được chia làm rất nhiều máy chủ con có cấu hình vừa đủ khác nhau cho từng nhu cầu. Việc này tận dụng tối đa khả năng sử dụng tài nguyên của doanh nghiệp, tiết kiệm tiền mua máy chủ cho hằng ha sa số công ty đang thắt lưng buộc bụng tìm kiếm lợi nhuận.&lt;br /&gt;&#10;Tuy nhiên, không có gì hoàn hảo. Đối với doanh nghiệp to hơn 1 chút, họ cần tối ưu tài nguyên hơn nữa, chu trình phát triển phần mềm của họ muốn tối ưu tự động 1 cách tốt hơn nữa. Họ không muốn quan tâm tới đống máy chủ ảo lổn nhổn kia, chỉ muốn tập trung vào phát triển ứng dụng, triển khai nhanh chóng để đưa vào kinh doanh. Họ nhận ra rằng, nếu họ có 1000 máy chủ ảo giống nhau, thì họ tốn chi phí cho 1000 cái OS đang chạy, quá lãng phí. Và thế là lại có container ra đời.&lt;br /&gt;&#10;Container giúp 1000 thằng ở trên dùng chung kernel của thằng OS trên máy vật lý, nhưng vẫn đảm bảo độc lập về mặt môi trường cho app chạy. Tức là, container chỉ là một cái hộp, bọc lấy cái app rồi đặt nó vào OS mà cái app đó cần. Mỗi app 1 hộp, trong hộp cài cắm những gì nó cần, và nó sẽ chỉ hoạt động trong cái hộp dành cho nó mà thôi. Những gì liên quan tới OS, phần cứng, tài nguyên, giờ đây sẽ có người khác lo cho nó. Kéo theo đó, container hiển nhiên nhẹ hơn rất nhiều so với máy ảo cồng kềnh, triển khai cũng nhanh hơn. Từ đây, mỗi 1 môi trường (OS) được gắn liền vào 1 app, quản lý thống nhất, dễ dàng và rẻ tiền hơn.&lt;/p&gt;</description></item><item><title>Rsync : Công cụ đồng bộ, copy dữ liệu tuyệt vời cho linux</title><link>https://blog.devopsvn.xyz/2019/01/22/rsync-cong-cu-dong-bo-copy-du-lieu-tuyet-voi-cho-linux/</link><pubDate>Tue, 22 Jan 2019 13:49:27 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/01/22/rsync-cong-cu-dong-bo-copy-du-lieu-tuyet-voi-cho-linux/</guid><description>&lt;p&gt;Rsync (Remote Sync) là một công cụ mạng để sao lưu vào đồng bộ dữ liệu trên linux. Rsync có khả năng đồng bộ file giữa:&lt;br /&gt;&#10;&amp;#8211; 2 thư mục trong 1 máy chủ local&lt;br /&gt;&#10;&amp;#8211; 2 thư mục giữa máy chủ local và máy chủ remote&lt;br /&gt;&#10;So sánh với scp truyền thống, rsync có những ưu điểm nổi trội:&lt;br /&gt;&#10;&amp;#8211; Hỗ trợ sao chép link, permission, .v.&lt;br /&gt;&#10;&amp;#8211; Nhanh hơn, do sử dụng cơ chế nén khi copy&lt;br /&gt;&#10;&amp;#8211; Có những tính năng như giới hạn băng thông truyền tải, bảo tồn được mốc thời gian, permission nguyên vẹn khi chuyển đi.&lt;br /&gt;&#10;Syntax cơ bản:&lt;br /&gt;&#10;&lt;code&gt;rsync options source destination&lt;/code&gt;&lt;br /&gt;&#10;Trong đó:&lt;br /&gt;&#10;-v : verbose&lt;br /&gt;&#10;-r : sao chép dữ liệu theo cách đệ quy ( không bảo tồn mốc thời gian và permission trong quá trình truyền dữ liệu)&lt;br /&gt;&#10;-a :chế độ lưu trữ cho phép sao chép các tệp đệ quy và giữ các liên kết, quyền sở hữu, nhóm và mốc thời gian&lt;br /&gt;&#10;-z : nén dữ liệu&lt;br /&gt;&#10;-h : định dạng số&lt;/p&gt;</description></item><item><title>Cấu hình firewalld và ipset (tạo country blacklist cho firewalld)</title><link>https://blog.devopsvn.xyz/2019/01/21/cau-hinh-firewalld-va-ipset-tao-country-blacklist-cho-firewalld/</link><pubDate>Mon, 21 Jan 2019 13:27:52 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/01/21/cau-hinh-firewalld-va-ipset-tao-country-blacklist-cho-firewalld/</guid><description>&lt;p&gt;&lt;strong&gt;Case:&lt;/strong&gt; bọn trung quốc scan nhiều quá, nên mong muốn block hết IP từ trung quốc lại. Với các hệ thống chuyên nghiệp, FW đời mới hiện nay có thể làm một cách dễ dàng với tính năng GeoIP. Vậy còn các webmaster cá nhân, đơn vị nhỏ chỉ với 1 server public ra ngoài? Họ có thể lựa chọn các giải pháp của cloudflare, akamai, .v. Hoặc cây nhà lá vườn hơn là tận dụng firewalld của centos 7 để làm việc này. Dưới dây là hướng dẫn cách thực hiện:&lt;/p&gt;</description></item><item><title>About DevOps VN</title><link>https://blog.devopsvn.xyz/about-me/</link><pubDate>Mon, 14 Jan 2019 18:59:48 +0700</pubDate><guid>https://blog.devopsvn.xyz/about-me/</guid><description>&lt;h2 class="wp-block-heading"&gt;Practical Infrastructure. Affordable DevOps. Built for Growth.&lt;/h2&gt;&#10;&#10;&#10;&#10;&lt;p class="wp-block-paragraph"&gt;&lt;strong&gt;DevOps VN (devopsvn.xyz) is a Vietnam-based technology startup that has been operating since 2018.&lt;/strong&gt; We specialize in network infrastructure consulting and implementation for small businesses, helping startups across Vietnam adopt DevOps and cloud solutions at very low cost.&lt;/p&gt;&#10;&#10;&#10;&#10;&lt;p class="wp-block-paragraph"&gt;We believe reliable IT infrastructure should be within reach of every business. Our goal is to help small teams build, run, and improve their systems with practical solutions that fit their needs and budgets.&lt;/p&gt;</description></item><item><title>Sửa lại chuột logitech bị mất đầu thu</title><link>https://blog.devopsvn.xyz/2019/01/14/sua-lai-chuot-logitech-bi-mat-dau-thu/</link><pubDate>Mon, 14 Jan 2019 17:57:35 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/01/14/sua-lai-chuot-logitech-bi-mat-dau-thu/</guid><description>&lt;p&gt;Chuột logitech bị mất đầu thu, có thể fix bằng 2 cách:&lt;br /&gt;&#10;&amp;#8211; Mua 1 đầu thu unify mới và kết nối lại với chuột bằng phần mềm UNIFYING SOFTWARE&lt;br /&gt;&#10;Link download từ logitech&lt;br /&gt;&#10;&lt;a href="https://support.logitech.com/en_us/software/unifying" rel="noopener" target="_blank"&gt;https://support.logitech.com/en_us/software/unifying&lt;/a&gt;&lt;br /&gt;&#10;Hoặc&lt;br /&gt;&#10;https://app.box.com/s/wfkgrgtuozzefrl86s3izzpdccp0vfb1&lt;br /&gt;&#10;Phần lớn chuột của logitech đều hỗ trợ unify, tuy nhiên đầu thu loại này đắt, có khi hơn cả tiền chuột mới.&lt;br /&gt;&#10;&amp;#8211; Cách 2: kiếm 1 cái đầu thu của chuột logitech khác, sử dụng app ConnectUtility của Logitech để nối lại. Chỉ cần cắm đầu thu vào máy tính, bật app lên và làm theo hướng dẫn&lt;br /&gt;&#10;&lt;a href="https://app.box.com/s/79cotp6vwa3if1vj64zca1xd8kl23akj" rel="noopener" target="_blank"&gt;https://app.box.com/s/79cotp6vwa3if1vj64zca1xd8kl23akj&lt;/a&gt;&lt;br /&gt;&#10;Mình đã thử test: sử dụng đầu thu của logitech B175 thành công cho M221 silent&lt;br /&gt;&#10;Chúc các bạn thànhcoong&lt;/p&gt;</description></item><item><title>Mount google drive, onedrive vào folder của linux</title><link>https://blog.devopsvn.xyz/2019/01/13/mount-google-drive-onedrive-vao-folder-cua-linux/</link><pubDate>Sun, 13 Jan 2019 11:39:12 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/01/13/mount-google-drive-onedrive-vao-folder-cua-linux/</guid><description>&lt;p&gt;Case study: Cần giải pháp backup file rẻ tiền cho cái blog devopsvn.xyz&lt;/p&gt;&#10;&lt;p&gt;Hàng ngày source code và database được dump ra file &lt;span style="font-family: Wingdings;"&gt;à&lt;/span&gt; đồng bộ file đó lên google drive&lt;/p&gt;&#10;&lt;p&gt;Tiến hành:&lt;/p&gt;&#10;&lt;p&gt;Để mount folder sử dụng rclone&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;Cài đặt: &lt;a href="https://rclone.org/install/"&gt;https://rclone.org/install/&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p style="background: whitesmoke;"&gt;&lt;span style="color: #333333; font-family: Consolas; font-size: 10pt;"&gt;curl https://rclone.org/install.sh | sudo bash&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;div&gt;Cấu hình với goole drive: cần chuẩn bị các thông tin dưới đây:&lt;/div&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;div&gt;&lt;a href="https://developers.google.com/identity/sign-in/web/sign-in?refresh=1"&gt;https://developers.google.com/identity/sign-in/web/sign-in?refresh=1&lt;/a&gt; truy cập trang này và tạo 1 project, sau đó làm theo hướng dẫn. sẽ thu được client id và client_secret&lt;/div&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;client_secret&lt;/li&gt;&#10;&lt;li&gt;client_id&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;Trong quá trình chạy thử sẽ thấy không đăng nhập được, trên màn hình console sẽ hướng dẫn truy cập các đường link để xác thực và cấp quyền. Lưu ý theo dõi&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;&lt;code&gt;rclone config&lt;br /&gt;&#10;No remotes found - make a new one&lt;br /&gt;&#10;n) New remote&lt;br /&gt;&#10;r) Rename remote&lt;br /&gt;&#10;c) Copy remote&lt;br /&gt;&#10;s) Set configuration password&lt;br /&gt;&#10;q) Quit config&lt;br /&gt;&#10;n/r/c/s/q&gt; n&lt;br /&gt;&#10;name&gt; remote&lt;br /&gt;&#10;Type of storage to configure.&lt;br /&gt;&#10;Choose a number from below, or type in your own value&lt;br /&gt;&#10;[snip]&lt;br /&gt;&#10;10 / Google Drive&lt;br /&gt;&#10; \ "drive"&lt;br /&gt;&#10;[snip]&lt;br /&gt;&#10;Storage&gt; drive&lt;br /&gt;&#10;Google Application Client Id - leave blank normally.&lt;br /&gt;&#10;client_id&gt;&lt;br /&gt;&#10;Google Application Client Secret - leave blank normally.&lt;br /&gt;&#10;client_secret&gt;&lt;br /&gt;&#10;Scope that rclone should use when requesting access from drive.&lt;br /&gt;&#10;Choose a number from below, or type in your own value&lt;br /&gt;&#10; 1 / Full access all files, excluding Application Data Folder.&lt;br /&gt;&#10; \ "drive"&lt;br /&gt;&#10; 2 / Read-only access to file metadata and file contents.&lt;br /&gt;&#10; \ "drive.readonly"&lt;br /&gt;&#10; / Access to files created by rclone only.&lt;br /&gt;&#10; 3 | These are visible in the drive website.&lt;br /&gt;&#10; | File authorization is revoked when the user deauthorizes the app.&lt;br /&gt;&#10; \ "drive.file"&lt;br /&gt;&#10; / Allows read and write access to the Application Data folder.&lt;br /&gt;&#10; 4 | This is not visible in the drive website.&lt;br /&gt;&#10; \ "drive.appfolder"&lt;br /&gt;&#10; / Allows read-only access to file metadata but&lt;br /&gt;&#10; 5 | does not allow any access to read or download file content.&lt;br /&gt;&#10; \ "drive.metadata.readonly"&lt;br /&gt;&#10;scope&gt; 1&lt;br /&gt;&#10;ID of the root folder - leave blank normally. Fill in to access "Computers" folders. (see docs).&lt;br /&gt;&#10;root_folder_id&gt;&lt;br /&gt;&#10;Service Account Credentials JSON file path - needed only if you want use SA instead of interactive login.&lt;br /&gt;&#10;service_account_file&gt;&lt;br /&gt;&#10;Remote config&lt;br /&gt;&#10;Use auto config?&lt;br /&gt;&#10; * Say Y if not sure&lt;br /&gt;&#10; * Say N if you are working on a remote or headless machine or Y didn't work&lt;br /&gt;&#10;y) Yes&lt;br /&gt;&#10;n) No&lt;br /&gt;&#10;y/n&gt; y&lt;br /&gt;&#10;If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth&lt;br /&gt;&#10;Log in and authorize rclone for access&lt;br /&gt;&#10;Waiting for code...&lt;br /&gt;&#10;Got code&lt;br /&gt;&#10;Configure this as a team drive?&lt;br /&gt;&#10;y) Yes&lt;br /&gt;&#10;n) No&lt;br /&gt;&#10;y/n&gt; n&lt;br /&gt;&#10;--------------------&lt;br /&gt;&#10;[remote]&lt;br /&gt;&#10;client_id =&lt;br /&gt;&#10;client_secret =&lt;br /&gt;&#10;scope = drive&lt;br /&gt;&#10;root_folder_id =&lt;br /&gt;&#10;service_account_file =&lt;br /&gt;&#10;token = {"access_token":"XXX","token_type":"Bearer","refresh_token":"XXX","expiry":"2014-03-16T13:57:58.955387075Z"}&lt;br /&gt;&#10;--------------------&lt;br /&gt;&#10;y) Yes this is OK&lt;br /&gt;&#10;e) Edit this remote&lt;br /&gt;&#10;d) Delete this remote&lt;br /&gt;&#10;y/e/d&gt; y&lt;/code&gt;&lt;br /&gt;&#10;&lt;span style="font-size: 12pt;"&gt;Chú ý: trong quá trình config có thông tin scope, ở trên thông tin này là drive&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Cấu hình Virtual Host trong Apache</title><link>https://blog.devopsvn.xyz/2019/01/10/cau-hinh-virtual-host-trong-apache/</link><pubDate>Thu, 10 Jan 2019 11:20:17 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/01/10/cau-hinh-virtual-host-trong-apache/</guid><description>&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 24pt;"&gt;&lt;strong&gt;Virtual Host&lt;br /&gt;&#10;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Arial; font-size: 12pt;"&gt;Virtual Host là một cấu hình trong Apache để cho phép nhiều domain cùng chạy trên một máy chủ. Có một khái niệm khác được đề cập tới trong Nginx cũng có chức năng tương tự như Virtual Host được gọi là Server Block. Trong Log này mình chỉ muốn chia sẻ với các bạn còn lạ lẫm về Vhost cách để cấu hình một Virtual Host trong Windows, ở đây mình sử dụng XAMPP làm môi trường pháp triển.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Xử lý lỗi KeyError khi ghép chuỗi python</title><link>https://blog.devopsvn.xyz/2019/01/01/xu-ly-loi-keyerror-khi-ghep-chuoi-python/</link><pubDate>Tue, 01 Jan 2019 17:51:30 +0700</pubDate><guid>https://blog.devopsvn.xyz/2019/01/01/xu-ly-loi-keyerror-khi-ghep-chuoi-python/</guid><description>&lt;p&gt;Case:&lt;br /&gt;&#10;&lt;code&gt;chat_id=428519060&lt;br /&gt;&#10;noidung='test'&lt;br /&gt;&#10;body='''{"chat_id":"{}","text":"{}"}'''.format(chat_id,noi_dung)&lt;br /&gt;&#10;KeyError: '"chat_id"'&lt;/code&gt;&lt;br /&gt;&#10;Nguyên nhân: do sử dụng hàm format, nên trong chuỗi có dấu { hoặc } sẽ bị lỗi.&lt;br /&gt;&#10;Xử lý: bằng cách thay { bằng {{ và } bằng }}&lt;br /&gt;&#10;&lt;code&gt;body='''{{"chat_id":"{}","text":"{}"}}'''.format(chat_id,noidung)&lt;br /&gt;&#10;'{"chat_id":"428519060","text":"test"}'&lt;/code&gt;&lt;/p&gt;</description></item><item><title>Cài đặt docker trên centos 6</title><link>https://blog.devopsvn.xyz/2018/12/23/cai-dat-docker-tren-centos-6/</link><pubDate>Sun, 23 Dec 2018 08:53:29 +0700</pubDate><guid>https://blog.devopsvn.xyz/2018/12/23/cai-dat-docker-tren-centos-6/</guid><description>&lt;pre&gt;&lt;code class="language-bash"&gt;yum install docker-io&#10;&#10;service docker start&#10;&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;Nếu có lỗi không tìm thấy service docker, gõ lệnh docker thấy:&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;Segmentation Fault or Critical Error encountered. Dumping core and abort&#10;&#10;&lt;/code&gt;&lt;/pre&gt;&#10;&lt;p&gt;Nguyên nhân do máy này đã cài đặt gói docker trước đó. Khi đó cần gỡ bỏ gói docker ra, cài lại:&lt;/p&gt;&#10;&lt;pre&gt;&lt;code&gt;yum -y remove docker.x86_64&#10;&#10;yum install docker-io&#10;&#10;service docker start&#10;&#10;&lt;/code&gt;&lt;/pre&gt;</description></item><item><title>TÌm tin nhắn trong skype với nhiều điều kiện</title><link>https://blog.devopsvn.xyz/2018/11/14/tim-tin-nhan-trong-skype-voi-nhieu-dieu-kien/</link><pubDate>Wed, 14 Nov 2018 10:43:39 +0700</pubDate><guid>https://blog.devopsvn.xyz/2018/11/14/tim-tin-nhan-trong-skype-voi-nhieu-dieu-kien/</guid><description>&lt;p&gt;Skype lưu đường dẫn profile của mỗi user trong folder C:\Users&lt;strong&gt;\&lt;span style="background-color: yellow; text-decoration: underline;"&gt;&amp;lt;user name&amp;gt;&lt;/span&gt;&lt;/strong&gt;\AppData\Roaming\Skype\&lt;span style="background-color: yellow;"&gt;&lt;strong&gt;&amp;lt;Skype name, tên đăng nhập&amp;gt;&lt;/strong&gt;&lt;/span&gt;\main.db&lt;/p&gt;&#10;&lt;p&gt;Mở file này bằng sqlite brower, bảng lưu tin nhắn thuộc bảng Messages, một số trường chính:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;body_xml: trường lưu nội dung message&lt;/li&gt;&#10;&lt;li&gt;timestamp: thời gian tin nhắn, hiển thi dưới dạng unixtime&lt;/li&gt;&#10;&lt;li&gt;author: người gửi&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Một số câu truy vẫn&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;&lt;em&gt;select date(timestamp, &amp;#8216;unixepoch&amp;#8217;, &amp;#8216;localtime&amp;#8217;), body_xml from Messages where&lt;br /&gt;&#10;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Kill zombie process linux</title><link>https://blog.devopsvn.xyz/2018/11/12/kill-zombie-process-linux/</link><pubDate>Mon, 12 Nov 2018 09:46:01 +0700</pubDate><guid>https://blog.devopsvn.xyz/2018/11/12/kill-zombie-process-linux/</guid><description>&lt;p&gt;&lt;span style="color: black; font-family: Verdana; font-size: 10pt; background-color: #e6e6e6;"&gt;[root@abc-kvm93 123_redmine_alert]# ps aux | grep phantom&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="color: black; font-family: Verdana; font-size: 10pt; background-color: yellow;"&gt;root 23858 0.1 0.0 0 0 pts/2 Z 11:09 0:01 [phantomjs] &amp;lt;defunct&amp;gt;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="color: black; font-family: Verdana; font-size: 10pt; background-color: yellow;"&gt;root 25464 0.1 0.0 0 0 pts/2 Z 11:16 0:01 [phantomjs] &amp;lt;defunct&amp;gt;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="color: black; font-family: Verdana; font-size: 10pt;"&gt;&lt;span style="background-color: yellow;"&gt;root 27425 0.2 0.0 0 0 pts/2 Z 11:24 0:01 [phantomjs] &amp;lt;defunct&amp;gt;&lt;/span&gt;&lt;span style="background-color: #e6e6e6;"&gt;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Thủ thuật Notepad++</title><link>https://blog.devopsvn.xyz/2018/10/28/thu-thuat-notepad/</link><pubDate>Sun, 28 Oct 2018 18:58:54 +0700</pubDate><guid>https://blog.devopsvn.xyz/2018/10/28/thu-thuat-notepad/</guid><description>&lt;p style="text-align: justify; background: white;"&gt;&lt;span style="color: #555555;"&gt;&lt;strong&gt;&lt;span style="font-family: Times New Roman; font-size: 19pt;"&gt;Xóa các dòng chứa từ khóa biết trước&lt;/span&gt;&lt;span style="font-family: Arial; font-size: 20pt;"&gt;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p style="background: #ecdec9;"&gt;&lt;span style="color: #555555; font-family: Times New Roman; font-size: 11pt;"&gt;Ví dụ: Muốn xóa các dòng có từ &amp;#8220;tukhoa&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p style="background: #ecdec9;"&gt;&lt;span style="color: #555555; font-family: Times New Roman; font-size: 11pt;"&gt; 1. &lt;strong&gt;Menu =&amp;gt; Search =&amp;gt; Mark&lt;/strong&gt; (hoặc &lt;strong&gt;Ctrl + F&lt;/strong&gt;, chọn &lt;strong&gt;Tab Mark&lt;/strong&gt;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p style="background: #ecdec9;"&gt;&lt;span style="color: #555555; font-family: Times New Roman; font-size: 11pt;"&gt;)&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p style="background: #ecdec9;"&gt;&lt;span style="color: #555555; font-family: Times New Roman; font-size: 11pt;"&gt; 2. Nhập từ cần xóa:&lt;strong&gt; &amp;#8220;tukhoa&amp;#8221;&lt;/strong&gt;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Tìm hiểu về resume download</title><link>https://blog.devopsvn.xyz/2018/10/28/tim-hieu-ve-resume-download/</link><pubDate>Sun, 28 Oct 2018 16:34:53 +0700</pubDate><guid>https://blog.devopsvn.xyz/2018/10/28/tim-hieu-ve-resume-download/</guid><description>&lt;p style="background: white;"&gt;&lt;span style="color: #1b1b1b; font-family: Segoe UI; font-size: 13pt;"&gt;Mình sẽ nói sơ qua flow làm việc của IDM khi bắt đầu tải một file nhé (ý kiến và hiểu biết của cá nhân mình, nên có thể không chính xác lắm):&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&#10;&lt;div style="background: white;"&gt;&lt;span style="color: #292b2c; font-family: Segoe UI; font-size: 13pt;"&gt;IDM sẽ request lên server đó với đường dẫn của file cần tải.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;div style="background: white;"&gt;&lt;span style="color: #292b2c; font-family: Segoe UI; font-size: 13pt;"&gt;Sau khi nhận được response từ server. Nó kiểm tra xem có header &lt;strong&gt;Accept-Ranges: bytes&lt;/strong&gt; hay không.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&#10;&lt;div style="background: white;"&gt;&lt;span style="color: #292b2c; font-family: Segoe UI; font-size: 13pt;"&gt;Nếu có, thì server đó hỗ trợ resume. Và lần sau (nếu bạn đã tạm dừng và tải tiếp) nó sẽ gửi kèm một header &lt;strong&gt;Range: bytes=&amp;lt;Số lượng bytes đã tải được&amp;gt;-&lt;/strong&gt; lên. Server sẽ trả về một status code là &lt;strong&gt;206 Partial Content&lt;/strong&gt; kèm header &lt;strong&gt;Content-Range: bytes &amp;lt;Số bytes bạn gửi lên&amp;gt;-&amp;lt;Số bytes của file &amp;#8211; 1&amp;gt;/&amp;lt;Số bytes của file&amp;gt;&lt;/strong&gt;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/div&gt;&#10;&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p style="background: white;"&gt;&lt;span style="color: #1b1b1b;"&gt;&lt;span style="font-family: Segoe UI; font-size: 13pt;"&gt;Để có thể dễ tưởng tượng hơn. Bây giờ chúng ta cùng đi thực nghiệm nhé. Mình dùng Ubuntu, nên chúng ta có thể sử dụng luôn package &lt;strong&gt;Wget&lt;/strong&gt; với tùy chọn &lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 12pt; background-color: #eeeeee;"&gt;-c (&amp;#8211;continue)&lt;/span&gt;&lt;span style="font-family: Segoe UI; font-size: 13pt;"&gt; để thử (không cần phải IDM). Phần chuẩn bị, chúng ta sẽ cài đặt NginX hoặc Apache2. Sau đó cho một file nặng nặng vào thư mục public của NginX (hoặc Apache &amp;#8211; thường là &lt;/span&gt;&lt;span style="font-family: Consolas; font-size: 12pt; background-color: #eeeeee;"&gt;/var/www/html&lt;/span&gt;&lt;span style="font-family: Segoe UI; font-size: 13pt;"&gt;). Do tốc độ truyền dữ liệu trong mạng local là rất nhanh nên chúng ta khó có thể xem chính xác được. Rất may là Wget có hỗ trợ limit rate (chúng ta sẽ sử dụng nó để giả lập tốc độ mạng).&lt;br /&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Thêm tự xuống dòng trong công thức Excel</title><link>https://blog.devopsvn.xyz/2018/10/21/them-tu-xuong-dong-trong-cong-thuc-excel/</link><pubDate>Sun, 21 Oct 2018 07:50:24 +0700</pubDate><guid>https://blog.devopsvn.xyz/2018/10/21/them-tu-xuong-dong-trong-cong-thuc-excel/</guid><description>&lt;p&gt;Xuống dòng trong excel chỉ cần Alt Enter là xong. Tuy nhiên, khi viết các hàm ghép chuỗi thì không thể Alt Enter được. Để làm việc này, chúng ta sử dụng hàm CHAR(10), Trong đó 10 là mã của ký tự xuống dòng (line break)&lt;/p&gt;&#10;&lt;p style="background: #eeeeee;"&gt;&lt;span style="color: black; font-family: Courier New; font-size: 10pt;"&gt;=&amp;#8221;abc&amp;#8221;&amp;amp;CHAR(10)&amp;amp;&amp;#8221;def&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;Tuy nhiên, chúng ta vẫn không thấy kết quả xuống dòng, bởi gì mặc định Wrapper cho cell đó k được bật, chỉ cần bấm vào Wrapper text là xong.&lt;/p&gt;</description></item><item><title>Cài đặt PIP3 và Python3 trên centos 6</title><link>https://blog.devopsvn.xyz/2018/10/16/cai-dat-pip3-va-python3-tren-centos-6/</link><pubDate>Tue, 16 Oct 2018 13:48:30 +0700</pubDate><guid>https://blog.devopsvn.xyz/2018/10/16/cai-dat-pip3-va-python3-tren-centos-6/</guid><description>&lt;p&gt;yum install -y epel-release &amp;amp;&amp;amp; yum install -y python34 &amp;amp;&amp;amp; yum install -y python34-devel &amp;amp;&amp;amp; yum install -y python34-setuptools&lt;/p&gt;&#10;&lt;p&gt;cd /usr/lib/python3.4/site-packages/&lt;/p&gt;&#10;&lt;p&gt;python3 easy_install.py pip&lt;/p&gt;&#10;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&#10;&lt;p&gt;Thế là xong. Tiến hành code như thường&lt;/p&gt;</description></item><item><title>Những gì bạn cần biết về monitoring elasticsearch</title><link>https://blog.devopsvn.xyz/2018/10/09/nhung-gi-ban-can-biet-ve-monitoring-elasticsearch/</link><pubDate>Tue, 09 Oct 2018 07:04:17 +0700</pubDate><guid>https://blog.devopsvn.xyz/2018/10/09/nhung-gi-ban-can-biet-ve-monitoring-elasticsearch/</guid><description>&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 24pt;"&gt;&lt;strong&gt;Elasticsearch là gì&lt;br /&gt;&#10;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;a href="https://s3-ap-southeast-1.amazonaws.com/kipalog.com/6noys4v9i5_image.png"&gt;&lt;span style="color: #00b5ad; font-family: Arial; font-size: 12pt;"&gt; &lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&#10;&lt;p style="text-align: center;"&gt;&lt;img decoding="async" src="https://blog.devopsvn.xyz/wp-content/uploads/2018/10/100918_0004_Nhnggbnc1.png" alt="" /&gt;&lt;span style="font-family: Times New Roman; font-size: 12pt;"&gt;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Arial; font-size: 12pt;"&gt;Elasticsearch chắc hẳn là nhiều người đã biết, nhưng để bài viết trơn tru, cứ phải có cái introduction cho nó dài. Elasticsearch là cơ sở dữ liệu (database) (từng) dành để lưu trữ text (document) là chính, dựa trên một engine nổi tiếng là lucene. Nói là &amp;#8220;từng&amp;#8221; vì hiện tại elasticsearch được dùng cho cả những ứng dụng thời thượng như là time series data (lưu dữ liệu là các &amp;#8220;point&amp;#8221; thay vì document) chứ không chỉ dừng lại cho text nữa.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;</description></item><item><title>Active các bản windows và Office thông qua KMS lậu</title><link>https://blog.devopsvn.xyz/2018/10/08/active-cac-ban-windows-va-office-thong-qua-kms-lau/</link><pubDate>Mon, 08 Oct 2018 07:56:26 +0700</pubDate><guid>https://blog.devopsvn.xyz/2018/10/08/active-cac-ban-windows-va-office-thong-qua-kms-lau/</guid><description>&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;Mở cmd với quyền admin và chạy các lệnh tương ứng&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;div&gt;&#10;&lt;table style="border-collapse: collapse;" border="0"&gt;&#10;&lt;colgroup&gt;&#10;&lt;col style="width: 638px;" /&gt;&lt;/colgroup&gt;&#10;&lt;tbody valign="top"&gt;&#10;&lt;tr&gt;&#10;&lt;td style="padding-left: 7px; padding-right: 7px; border: solid 0.5pt;"&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;&lt;strong&gt;Windows Server 2016 Datacenter:&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr&gt;&#10;&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;slmgr /ipk CB7KF-BWN84-R7R2Y-793K2-8XDDG&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;slmgr /skms kms.digiboy.ir&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;slmgr /ato&lt;/span&gt;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;div&gt;&#10;&lt;table style="border-collapse: collapse;" border="0"&gt;&#10;&lt;colgroup&gt;&#10;&lt;col style="width: 638px;" /&gt;&lt;/colgroup&gt;&#10;&lt;tbody valign="top"&gt;&#10;&lt;tr&gt;&#10;&lt;td style="padding-left: 7px; padding-right: 7px; border: solid 0.5pt;"&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;&lt;strong&gt;Windows Server 2016 Standard:&lt;br /&gt;&#10;&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr&gt;&#10;&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;&amp;lt;pre&amp;gt;slmgr /ipk WC2BQ-8NRM3-FDDYY-2BFGV-KHKQY&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;slmgr /skms kms.digiboy.ir&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;slmgr /ato&lt;/span&gt;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;div&gt;&#10;&lt;table style="border-collapse: collapse;" border="0"&gt;&#10;&lt;colgroup&gt;&#10;&lt;col style="width: 638px;" /&gt;&lt;/colgroup&gt;&#10;&lt;tbody valign="top"&gt;&#10;&lt;tr&gt;&#10;&lt;td style="padding-left: 7px; padding-right: 7px; border: solid 0.5pt;"&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;&lt;strong&gt;Active windows 10:&lt;/strong&gt;&lt;/span&gt;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr&gt;&#10;&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;&lt;span style="background-color: #fafafa;"&gt;Windows 10 Home: TX9XD-98N7V-6WMQ6-BX7FG-H8Q99&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Windows 10 Home N: 3KHY7-WNT83-DGQKR-F7HPR-844BM&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Windows 10 Home Single Language: 7HNRX-D7KGG-3K4RQ-4WPJ4-YTDFH&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Windows 10 Home Country Specific: PVMJN-6DFY6-9CCP6-7BKTT-D3WVR&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Windows10 Professional: W269N-WFGWX-YVC9B-4J6C9-T83GX&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Windows10 Professional N: MH37W-N47XK-V7XM9-C7227-GCQG9&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Windows10 Enterprise: NPPR9-FWDCX-D2C8J-H872K-2YT43&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Windows10 Enterprise N: DPH2V-TTNVB-4X9Q3-TJR4H-KHJW4&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Windows10 Education: NW6C2-QMPVW-D7KKK-3GKT6-VCFB2&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Windows10 Education N: 2WH4N-8QGBV-H22JP-CT43Q-MDWWJ&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Windows10 Enterprise2015 LTSB: WNMTR-4C88C-JK8YV-HQ7T2-76DF9&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Windows10 Enterprise2015 LTSB: 2F77B-TNFGY-69QQF-B8YKP-D69TJ&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: #fafafa;"&gt;Thay vào dòng dưới&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;slmgr /ipk &lt;/span&gt;&lt;span style="background-color: yellow;"&gt;W269N-WFGWX-YVC9B-4J6C9-T83GX&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;slmgr /skms &lt;a href="http://kms.digiboy.ir/" target="_blank" rel="noopener"&gt;&lt;span style="color: #6611cc;"&gt;kms.digiboy.ir&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;slmgr /ato&lt;/span&gt;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;Windows Server 2022&lt;/p&gt;&#10;&lt;p&gt;&lt;strong&gt;Win Server 2022 Datacenter:&lt;/strong&gt; WX4NM-KYWYW-QJJR4-XV3QB-6VM33&lt;br /&gt;&#10;&lt;strong&gt;Win Server 2022 Standard:&lt;/strong&gt; VDYBN-27WPP-V4HQT-9VMD4-VMK7H&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;&lt;strong&gt;Active Office:&lt;br /&gt;&#10;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;Chỉ áp dụng cho bản Office 2016 VL, nếu đang bản retail thì phải convert sang, cách convert bằng cách chạy Script tương ứng dưới quyền administrator sẽ được hướng dẫn ở cuối bài.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;Sau khi convert&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt;"&gt;&lt;span style="background-color: #fafafa;"&gt;Tiếp theo là active bằng cách dưới:&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;cd C:\Program Files (x86)\Microsoft Office\Office16&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;cscript OSPP.VBS /inpkey:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;cscript OSPP.VBS /&lt;a href="http://sethst:kms.digiboy.ir/" target="_blank" rel="noopener"&gt;&lt;span style="color: #6611cc;"&gt;sethst:kms.digiboy.ir&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;cscript OSPP.VBS /act&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;cscript OSPP.VBS /dstatus&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Đối với office 64bit&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;cd C:\Program Files\Microsoft Office\Office16&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;cscript OSPP.VBS /inpkey:XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;cscript OSPP.VBS /&lt;a href="http://sethst:kms.digiboy.ir/" target="_blank" rel="noopener"&gt;&lt;span style="color: #6611cc;"&gt;sethst:kms.digiboy.ir&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;cscript OSPP.VBS /act&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;cscript OSPP.VBS /dstatus&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Trong đó:&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99 là key Office 2016 Pro Plus. Nếu các bạn sử dụng các phiên bản Office như Visio, Project… thì thay key dưới đây vào:&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Office Professional Plus 2016: XQNVK-8JYDB-WJ9W3-YJ8YR-WFG99&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Office Standard 2016 : JNRGM-WHDWX-FJJG3-K47QV-DRTFM&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Project Professional 2016: YG9NW-3K39V-2T3HJ-93F3Q-G83KT&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Project Standard 2016: GNFHQ-F6YQM-KQDGJ-327XX-KQBVC&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Visio Professional 2016: PD3PC-RHNGV-FXJ29-8JK7D-RJRJK&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Visio Standard 2016: 7WHWN-4T7MP-G96JF-G33KR-W8GF4&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Access 2016: GNH9Y-D2J4T-FJHGG-QRVH7-QPFDW&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Excel 2016: 9C2PK-NWTVB-JMPW8-BFT28-7FTBF&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;OneNote 2016: DR92N-9HTF2-97XKM-XW2WJ-XW3J6&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Outlook 2016: R69KK-NTPKF-7M3Q4-QYBHW-6MT9B&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;PowerPoint 2016: J7MQP-HNJ4Y-WJ7YM-PFYGF-BY6C6&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Publisher 2016: F47MM-N3XJP-TQXJ9-BP99D-8K837&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Skype for Business 2016: 869NQ-FJ69K-466HW-QYCP2-DDBV6&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;Word 2016: WXY84-JN2Q9-RBCCQ-3Q3J3-3PFJ6&lt;/span&gt;&lt;br /&gt;&#10;&lt;span style="background-color: #fafafa;"&gt;========================&lt;br /&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;&lt;strong&gt;Hướng dẫn convert sang bản VL:&lt;br /&gt;&#10;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;Chạy script tương ứng với Office 64 bit hoặc 32 bit&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;div&gt;&#10;&lt;table style="border-collapse: collapse;" border="0"&gt;&#10;&lt;colgroup&gt;&#10;&lt;col style="width: 638px;" /&gt;&lt;/colgroup&gt;&#10;&lt;tbody valign="top"&gt;&#10;&lt;tr&gt;&#10;&lt;td style="padding-left: 7px; padding-right: 7px; border: solid 0.5pt;"&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;Office 32 bit, Lưu đoạn dưới đây thành file name.cmd rồi chạy &lt;/span&gt;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr&gt;&#10;&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;@echo off&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;:ADMIN&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;openfiles &amp;gt;nul 2&amp;gt;nul ||(&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo Set UAC = CreateObject^(&amp;#8220;Shell.Application&amp;#8221;^) &amp;gt; &amp;#8220;%temp%\getadmin.vbs&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo UAC.ShellExecute &amp;#8220;%~s0&amp;#8221;, &amp;#8220;&amp;#8221;, &amp;#8220;&amp;#8221;, &amp;#8220;runas&amp;#8221;, 1 &amp;gt;&amp;gt; &amp;#8220;%temp%\getadmin.vbs&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;&amp;#8220;%temp%\getadmin.vbs&amp;#8221; &amp;gt;nul 2&amp;gt;&amp;amp;1&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;goto:eof&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;)&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;del /f /q &amp;#8220;%temp%\getadmin.vbs&amp;#8221; &amp;gt;nul 2&amp;gt;nul&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;for /f &amp;#8220;tokens=6 delims=[]. &amp;#8221; %%G in (&amp;#8216;ver&amp;#8217;) do set win=%%G&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;pushd &amp;#8220;%~dp0&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;Title Office 2016 Retail to Volume License Converter&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo Press Enter to start VL-Conversion&amp;#8230;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;pause&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cd /D &amp;#8220;%SystemRoot%\System32&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;if %win% GEQ 9200 (&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ppd.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ul.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ul-oob.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\ProjectProVL_KMS_Client-ppd.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\ProjectProVL_KMS_Client-ul-oob.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\ProjectProVL_KMS_Client-ul.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\VisioProVL_KMS_Client-ppd.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\VisioProVL_KMS_Client-ul-oob.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\VisioProVL_KMS_Client-ul.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;)&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;if %win% LSS 9200 (&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ppd.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ul.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ul-oob.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\ProjectProVL_KMS_Client-ppd.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\ProjectProVL_KMS_Client-ul-oob.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\ProjectProVL_KMS_Client-ul.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\VisioProVL_KMS_Client-ppd.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\VisioProVL_KMS_Client-ul-oob.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\VisioProVL_KMS_Client-ul.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles(x86)%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles(x86)%\Microsoft Office\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;)&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo Retail to Volume License conversion finished.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;pause&lt;/span&gt;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;Đối với office 64 bit&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;div&gt;&#10;&lt;table style="border-collapse: collapse;" border="0"&gt;&#10;&lt;colgroup&gt;&#10;&lt;col style="width: 638px;" /&gt;&lt;/colgroup&gt;&#10;&lt;tbody valign="top"&gt;&#10;&lt;tr&gt;&#10;&lt;td style="padding-left: 7px; padding-right: 7px; border: solid 0.5pt;"&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;Office 64 bit, Lưu đoạn dưới đây thành file name.cmd rồi chạy &lt;/span&gt;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;tr&gt;&#10;&lt;td style="padding-left: 7px; padding-right: 7px; border-top: none; border-left: solid 0.5pt; border-bottom: solid 0.5pt; border-right: solid 0.5pt;"&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;@echo off&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;:ADMIN&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;openfiles &amp;gt;nul 2&amp;gt;nul ||(&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo Set UAC = CreateObject^(&amp;#8220;Shell.Application&amp;#8221;^) &amp;gt; &amp;#8220;%temp%\getadmin.vbs&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo UAC.ShellExecute &amp;#8220;%~s0&amp;#8221;, &amp;#8220;&amp;#8221;, &amp;#8220;&amp;#8221;, &amp;#8220;runas&amp;#8221;, 1 &amp;gt;&amp;gt; &amp;#8220;%temp%\getadmin.vbs&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;&amp;#8220;%temp%\getadmin.vbs&amp;#8221; &amp;gt;nul 2&amp;gt;&amp;amp;1&lt;br /&gt;&#10;&lt;/span&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;goto:eof&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;)&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;del /f /q &amp;#8220;%temp%\getadmin.vbs&amp;#8221; &amp;gt;nul 2&amp;gt;nul&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;for /f &amp;#8220;tokens=6 delims=[]. &amp;#8221; %%G in (&amp;#8216;ver&amp;#8217;) do set win=%%G&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;pushd &amp;#8220;%~dp0&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;Title Office 2016 Retail to Volume License Converter&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo Press Enter to start VL-Conversion&amp;#8230;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;pause&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cd /D &amp;#8220;%SystemRoot%\System32&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;if %win% GEQ 9200 (&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ppd.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ul.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ul-oob.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\ProjectProVL_KMS_Client-ppd.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\ProjectProVL_KMS_Client-ul-oob.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\ProjectProVL_KMS_Client-ul.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\VisioProVL_KMS_Client-ppd.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\VisioProVL_KMS_Client-ul-oob.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\VisioProVL_KMS_Client-ul.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript slmgr.vbs /ilc &amp;#8220;%ProgramFiles%\Microsoft Office\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;)&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;if %win% LSS 9200 (&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ppd.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ul.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\ProPlusVL_KMS_Client-ul-oob.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\ProjectProVL_KMS_Client-ppd.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\ProjectProVL_KMS_Client-ul-oob.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\ProjectProVL_KMS_Client-ul.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\VisioProVL_KMS_Client-ppd.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\VisioProVL_KMS_Client-ul-oob.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\VisioProVL_KMS_Client-ul.xrm-ms&amp;#8221;&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\client-issuance-bridge-office.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\client-issuance-root.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\client-issuance-root-bridge-test.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\client-issuance-stil.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\client-issuance-ul.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\client-issuance-ul-oob.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;cscript &amp;#8220;%ProgramFiles%\Microsoft Office\Office16\ospp.vbs&amp;#8221; /inslic:&amp;#8221;%ProgramFiles%\Microsoft Office\root\Licenses16\pkeyconfig-office.xrm-ms&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;)&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo Retail to Volume License conversion finished.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;echo.&lt;br /&gt;&#10;&lt;/span&gt;&lt;/p&gt;&#10;&lt;p&gt;&lt;span style="font-family: Times New Roman; font-size: 14pt; background-color: #fafafa;"&gt;pause&lt;/span&gt;&lt;/td&gt;&#10;&lt;/tr&gt;&#10;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;/div&gt;&#10;&lt;p&gt;</description></item><item><title>Note cài đặt mariaDB</title><link>https://blog.devopsvn.xyz/2018/10/03/note-cai-dat-mariadb/</link><pubDate>Wed, 03 Oct 2018 09:59:59 +0700</pubDate><guid>https://blog.devopsvn.xyz/2018/10/03/note-cai-dat-mariadb/</guid><description>&lt;p&gt;Hướng dẫn cài đặt ( cho centos7 )&lt;/p&gt;&#10;&lt;pre&gt;&#10;&#10;yum install -y epel-release &amp;&amp; yum install wget curl vim net-tools gcc telnet&#10;&#10;yum install -y mariadb-server&#10;&#10;systemctl start mariadb&#10;&#10;systemctl enable mariadb&#10;&#10;&lt;/pre&gt;</description></item><item><title>Lỗi cannot be loaded because the execution of scripts is disabled on this system. cuả POWERSHELL</title><link>https://blog.devopsvn.xyz/2018/10/02/loi-cannot-be-loaded-because-the-execution-of-scripts-is-disabled-on-this-system-cua-powershell/</link><pubDate>Tue, 02 Oct 2018 19:29:47 +0700</pubDate><guid>https://blog.devopsvn.xyz/2018/10/02/loi-cannot-be-loaded-because-the-execution-of-scripts-is-disabled-on-this-system-cua-powershell/</guid><description>&lt;p&gt;Chạy Script bằng powershell lỗi cannot be loaded because the execution of scripts is disabled on this system.&lt;/p&gt;&#10;&lt;p&gt;Nguyên nhân do mặc định windows chặn powershell thực thi các scripts này vì lý do an ninh, để mở thả cửa cho chức năng này, chạy câu sau, hỏi gì cứ Yes to All&lt;/p&gt;&#10;&lt;pre&gt;&#10;&#10;Set-ExecutionPolicy RemoteSigned&#10;&#10;&lt;/pre&gt;</description></item><item><title>Tháng 1 2019</title><link>https://blog.devopsvn.xyz/2019/01/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2019/01/</guid><description/></item><item><title>Tháng 1 2020</title><link>https://blog.devopsvn.xyz/2020/01/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2020/01/</guid><description/></item><item><title>Tháng 1 2021</title><link>https://blog.devopsvn.xyz/2021/01/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2021/01/</guid><description/></item><item><title>Tháng 1 2024</title><link>https://blog.devopsvn.xyz/2024/01/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2024/01/</guid><description/></item><item><title>Tháng 10 2018</title><link>https://blog.devopsvn.xyz/2018/10/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2018/10/</guid><description/></item><item><title>Tháng 10 2020</title><link>https://blog.devopsvn.xyz/2020/10/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2020/10/</guid><description/></item><item><title>Tháng 11 2018</title><link>https://blog.devopsvn.xyz/2018/11/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2018/11/</guid><description/></item><item><title>Tháng 12 2018</title><link>https://blog.devopsvn.xyz/2018/12/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2018/12/</guid><description/></item><item><title>Tháng 12 2020</title><link>https://blog.devopsvn.xyz/2020/12/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2020/12/</guid><description/></item><item><title>Tháng 12 2023</title><link>https://blog.devopsvn.xyz/2023/12/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2023/12/</guid><description/></item><item><title>Tháng 2 2019</title><link>https://blog.devopsvn.xyz/2019/02/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2019/02/</guid><description/></item><item><title>Tháng 2 2020</title><link>https://blog.devopsvn.xyz/2020/02/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2020/02/</guid><description/></item><item><title>Tháng 2 2022</title><link>https://blog.devopsvn.xyz/2022/02/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2022/02/</guid><description/></item><item><title>Tháng 3 2020</title><link>https://blog.devopsvn.xyz/2020/03/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2020/03/</guid><description/></item><item><title>Tháng 3 2025</title><link>https://blog.devopsvn.xyz/2025/03/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2025/03/</guid><description/></item><item><title>Tháng 4 2019</title><link>https://blog.devopsvn.xyz/2019/04/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2019/04/</guid><description/></item><item><title>Tháng 4 2020</title><link>https://blog.devopsvn.xyz/2020/04/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2020/04/</guid><description/></item><item><title>Tháng 4 2021</title><link>https://blog.devopsvn.xyz/2021/04/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2021/04/</guid><description/></item><item><title>Tháng 4 2024</title><link>https://blog.devopsvn.xyz/2024/04/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2024/04/</guid><description/></item><item><title>Tháng 5 2019</title><link>https://blog.devopsvn.xyz/2019/05/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2019/05/</guid><description/></item><item><title>Tháng 5 2020</title><link>https://blog.devopsvn.xyz/2020/05/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2020/05/</guid><description/></item><item><title>Tháng 5 2021</title><link>https://blog.devopsvn.xyz/2021/05/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2021/05/</guid><description/></item><item><title>Tháng 5 2022</title><link>https://blog.devopsvn.xyz/2022/05/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2022/05/</guid><description/></item><item><title>Tháng 5 2024</title><link>https://blog.devopsvn.xyz/2024/05/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2024/05/</guid><description/></item><item><title>Tháng 6 2019</title><link>https://blog.devopsvn.xyz/2019/06/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2019/06/</guid><description/></item><item><title>Tháng 6 2020</title><link>https://blog.devopsvn.xyz/2020/06/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2020/06/</guid><description/></item><item><title>Tháng 6 2021</title><link>https://blog.devopsvn.xyz/2021/06/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2021/06/</guid><description/></item><item><title>Tháng 6 2024</title><link>https://blog.devopsvn.xyz/2024/06/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2024/06/</guid><description/></item><item><title>Tháng 7 2019</title><link>https://blog.devopsvn.xyz/2019/07/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2019/07/</guid><description/></item><item><title>Tháng 7 2021</title><link>https://blog.devopsvn.xyz/2021/07/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2021/07/</guid><description/></item><item><title>Tháng 7 2025</title><link>https://blog.devopsvn.xyz/2025/07/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2025/07/</guid><description/></item><item><title>Tháng 8 2019</title><link>https://blog.devopsvn.xyz/2019/08/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2019/08/</guid><description/></item><item><title>Tháng 9 2019</title><link>https://blog.devopsvn.xyz/2019/09/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2019/09/</guid><description/></item><item><title>Tháng 9 2020</title><link>https://blog.devopsvn.xyz/2020/09/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.devopsvn.xyz/2020/09/</guid><description/></item></channel></rss>